{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# TimeEval result analysis on the benchmark datasets (retry run 1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "# imports\n",
    "import re\n",
    "import json\n",
    "import warnings\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "import scipy as sp\n",
    "\n",
    "from IPython.display import display, Markdown, Latex\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "plt.rcParams[\"figure.figsize\"] = (20, 8)\n",
    "\n",
    "from pathlib import Path\n",
    "from timeeval import Datasets"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Configuration"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Define data and results folder:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Available result directories:\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "[PosixPath('/home/projects/akita/results/2021-10-11_optim-part4'),\n",
       " PosixPath('/home/projects/akita/results/2021-09-27_shared-optim'),\n",
       " PosixPath('/home/projects/akita/results/2021-10-06_optim-part1'),\n",
       " PosixPath('/home/projects/akita/results/2021-09-27_default-params-1&2&3&4-merged'),\n",
       " PosixPath('/home/projects/akita/results/2021-11-01_runtime-gutentag-merged'),\n",
       " PosixPath('/home/projects/akita/results/2021-10-14_optim-extra'),\n",
       " PosixPath('/home/projects/akita/results/.ipynb_checkpoints'),\n",
       " PosixPath('/home/projects/akita/results/2021-11-16_runtime-benchmark-retry1'),\n",
       " PosixPath('/home/projects/akita/results/2021-10-08_optim-part3'),\n",
       " PosixPath('/home/projects/akita/results/2021-10-07_optim-part2'),\n",
       " PosixPath('/home/projects/akita/results/2021-10-17_optim-extra2'),\n",
       " PosixPath('/home/projects/akita/results/2021-10-12_optim-part5'),\n",
       " PosixPath('/home/projects/akita/results/backup'),\n",
       " PosixPath('/home/projects/akita/results/2021-10-12_optim-part6'),\n",
       " PosixPath('/home/projects/akita/results/2021-11-17_runtime-benchmark-merged'),\n",
       " PosixPath('/home/projects/akita/results/2021-10-21_runtime-benchmark-fixed')]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Selecting:\n",
      "Data path: /home/projects/akita/data/benchmark-data/data-processed\n",
      "Result path: /home/projects/akita/results/2021-11-16_runtime-benchmark-retry1\n"
     ]
    }
   ],
   "source": [
    "# constants and configuration\n",
    "data_path = Path(\"/home/projects/akita/data\") / \"benchmark-data\" / \"data-processed\"\n",
    "result_root_path = Path(\"/home/projects/akita/results\")\n",
    "experiment_result_folder = \"2021-11-16_runtime-benchmark-retry1\"\n",
    "\n",
    "# build paths\n",
    "result_paths = [d for d in result_root_path.iterdir() if d.is_dir()]\n",
    "print(\"Available result directories:\")\n",
    "display(result_paths)\n",
    "\n",
    "result_path = result_root_path / experiment_result_folder\n",
    "print(\"\\nSelecting:\")\n",
    "print(f\"Data path: {data_path.resolve()}\")\n",
    "print(f\"Result path: {result_path.resolve()}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Load results and dataset metadata:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Reading results from /home/projects/akita/results/2021-11-16_runtime-benchmark-retry1\n"
     ]
    }
   ],
   "source": [
    "# load results\n",
    "print(f\"Reading results from {result_path.resolve()}\")\n",
    "df = pd.read_csv(result_path / \"results.csv\")\n",
    "\n",
    "# aggregate runtime\n",
    "df[\"overall_time\"] = df[\"execute_main_time\"].fillna(0) + df[\"train_main_time\"].fillna(0)\n",
    "\n",
    "# add RANGE_PR_AUC if it is not part of the results\n",
    "if \"RANGE_PR_AUC\" not in df.columns:\n",
    "    df[\"RANGE_PR_AUC\"] = np.nan\n",
    "\n",
    "# remove all duplicates (not necessary, but sometimes, we have some)\n",
    "df = df.drop_duplicates()\n",
    "\n",
    "# load dataset metadata\n",
    "dmgr = Datasets(data_path)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Define utility functions"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "def load_scores_df(algorithm_name, dataset_id, repetition=1):\n",
    "    params_id = df.loc[(df[\"algorithm\"] == algorithm_name) & (df[\"collection\"] == dataset_id[0]) & (df[\"dataset\"] == dataset_id[1]), \"hyper_params_id\"].item()\n",
    "    path = (\n",
    "        result_path /\n",
    "        algorithm_name /\n",
    "        params_id /\n",
    "        dataset_id[0] /\n",
    "        dataset_id[1] /\n",
    "        str(repetition) /\n",
    "        \"anomaly_scores.ts\"\n",
    "    )\n",
    "    return pd.read_csv(path, header=None)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Define plotting functions:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "default_use_plotly = True\n",
    "try:\n",
    "    import plotly.offline\n",
    "except ImportError:\n",
    "    default_use_plotly = False\n",
    "\n",
    "def plot_scores(algorithm_name, dataset_id, use_plotly: bool = default_use_plotly, **kwargs):\n",
    "    if not isinstance(algorithm_name, list):\n",
    "        algorithms = [algorithm_name]\n",
    "    else:\n",
    "        algorithms = algorithm_name\n",
    "    # deconstruct dataset ID\n",
    "    collection_name, dataset_name = dataset_id\n",
    "\n",
    "    # load dataset details\n",
    "    df_dataset = dmgr.get_dataset_df(dataset_id)\n",
    "\n",
    "    # check if dataset is multivariate\n",
    "    dataset_dim = df.loc[(df[\"collection\"] == collection_name) & (df[\"dataset\"] == dataset_name), \"dataset_input_dimensionality\"].unique().item()\n",
    "    dataset_dim = dataset_dim.lower()\n",
    "    \n",
    "    auroc = {}\n",
    "    df_scores = pd.DataFrame(index=df_dataset.index)\n",
    "    skip_algos = []\n",
    "    algos = []\n",
    "    for algo in algorithms:\n",
    "        algos.append(algo)\n",
    "        # get algorithm metric results\n",
    "        try:\n",
    "            auroc[algo] = df.loc[(df[\"algorithm\"] == algo) & (df[\"collection\"] == collection_name) & (df[\"dataset\"] == dataset_name), \"ROC_AUC\"].item()\n",
    "        except ValueError:\n",
    "            warnings.warn(f\"No ROC_AUC score found! Probably {algo} was not executed on {dataset_id}.\")\n",
    "            auroc[algo] = -1\n",
    "            skip_algos.append(algo)\n",
    "            continue\n",
    "\n",
    "        # load scores\n",
    "        training_type = df.loc[df[\"algorithm\"] == algo, \"algo_training_type\"].values[0].lower().replace(\"_\", \"-\")\n",
    "        try:\n",
    "            df_scores[algo] = load_scores_df(algo, dataset_id).iloc[:, 0]\n",
    "        except (ValueError, FileNotFoundError):\n",
    "            warnings.warn(f\"No anomaly scores found! Probably {algo} was not executed on {dataset_id}.\")\n",
    "            df_scores[algo] = np.nan\n",
    "            skip_algos.append(algo)\n",
    "    algorithms = [a for a in algos if a not in skip_algos]\n",
    "\n",
    "    if use_plotly:\n",
    "        return plot_scores_plotly(algorithms, auroc, df_scores, df_dataset, dataset_dim, dataset_id, **kwargs)\n",
    "    else:\n",
    "        return plot_scores_plt(algorithms, auroc, df_scores, df_dataset, dataset_dim, dataset_id, **kwargs)\n",
    "\n",
    "def plot_scores_plotly(algorithms, auroc, df_scores, df_dataset, dataset_dim, dataset_id, **kwargs):\n",
    "    import plotly.offline as py\n",
    "    import plotly.graph_objects as go\n",
    "    import plotly.figure_factory as ff\n",
    "    import plotly.express as px\n",
    "    from plotly.subplots import make_subplots\n",
    "\n",
    "    # Create plot\n",
    "    fig = make_subplots(2, 1)\n",
    "    if dataset_dim == \"multivariate\":\n",
    "        for i in range(1, df_dataset.shape[1]-1):\n",
    "            fig.add_trace(go.Scatter(x=df_dataset.index, y=df_dataset.iloc[:, i], name=df_dataset.columns[i]), 1, 1)\n",
    "    else:\n",
    "        fig.add_trace(go.Scatter(x=df_dataset.index, y=df_dataset.iloc[:, 1], name=\"timeseries\"), 1, 1)\n",
    "    fig.add_trace(go.Scatter(x=df_dataset.index, y=df_dataset[\"is_anomaly\"], name=\"label\"), 2, 1)\n",
    "    \n",
    "    for algo in algorithms:\n",
    "        fig.add_trace(go.Scatter(x=df_scores.index, y=df_scores[algo], name=f\"{algo}={auroc[algo]:.4f}\"), 2, 1)\n",
    "    fig.update_xaxes(matches=\"x\")\n",
    "    fig.update_layout(\n",
    "        title=f\"Results of {','.join(np.unique(algorithms))} on {dataset_id}\",\n",
    "        height=400\n",
    "    )\n",
    "    return py.iplot(fig)\n",
    "\n",
    "def plot_scores_plt(algorithms, auroc, df_scores, df_dataset, dataset_dim, dataset_id, **kwargs):\n",
    "    import matplotlib.pyplot as plt\n",
    "\n",
    "    # Create plot\n",
    "    fig, axs = plt.subplots(2, 1, sharex=True, figsize=(20, 8))\n",
    "    if dataset_dim == \"multivariate\":\n",
    "        for i in range(1, df_dataset.shape[1]-1):\n",
    "            axs[0].plot(df_dataset.index, df_dataset.iloc[:, i], label=df_dataset.columns[i])\n",
    "    else:\n",
    "        axs[0].plot(df_dataset.index, df_dataset.iloc[:, 1], label=f\"timeseries\")\n",
    "    axs[1].plot(df_dataset.index, df_dataset[\"is_anomaly\"], label=\"label\")\n",
    "    \n",
    "    for algo in algorithms:\n",
    "        axs[1].plot(df_scores.index, df_scores[algo], label=f\"{algo}={auroc[algo]:.4f}\")\n",
    "    axs[0].legend()\n",
    "    axs[1].legend()\n",
    "    fig.suptitle(f\"Results of {','.join(np.unique(algorithms))} on {dataset_id}\")\n",
    "    fig.tight_layout()\n",
    "    return fig\n",
    "\n",
    "def plot_boxplot(df, n_show = 20, title=\"Box plots\", ax_label=\"values\", fmt_label=lambda x: x, use_plotly=default_use_plotly):\n",
    "    n_show = n_show // 2\n",
    "    title = title + f\" (worst {n_show} and best {n_show} algorithms)\"\n",
    "    \n",
    "    if use_plotly:\n",
    "        import plotly.offline as py\n",
    "        import plotly.graph_objects as go\n",
    "        import plotly.figure_factory as ff\n",
    "        import plotly.express as px\n",
    "        from plotly.subplots import make_subplots\n",
    "        \n",
    "        fig = go.Figure()\n",
    "        for i, c in enumerate(df.columns):\n",
    "            fig.add_trace(go.Box(\n",
    "                x=df[c],\n",
    "                name=fmt_label(c),\n",
    "                boxpoints=False,\n",
    "                visible=None if i < n_show or i > len(df.columns)-n_show-1 else \"legendonly\"\n",
    "            ))\n",
    "        fig.update_layout(\n",
    "            title={\"text\": title, \"xanchor\": \"center\", \"x\": 0.5},\n",
    "            xaxis_title=ax_label,\n",
    "            legend_title=\"Algorithms\"\n",
    "        )\n",
    "        return py.iplot(fig)\n",
    "    else:\n",
    "        df_boxplot = pd.concat([df.iloc[:, :n_show], df.iloc[:, -n_show:]])\n",
    "        labels = df_boxplot.columns\n",
    "        labels = [fmt_label(c) for c in labels]\n",
    "        values = [df_boxplot[c].dropna().values for c in df_boxplot.columns]\n",
    "        fig = plt.figure()\n",
    "        ax = fig.gca()\n",
    "        #ax.boxplot(values, sym=\"\", vert=True, meanline=True, showmeans=True, showfliers=False, manage_ticks=True)\n",
    "        ax.boxplot(values, vert=True, meanline=True, showmeans=True, showfliers=True, manage_ticks=True)\n",
    "        ax.set_ylabel(ax_label)\n",
    "        ax.set_title(title)\n",
    "        ax.set_xticklabels(labels, rotation=-45, ha=\"left\", rotation_mode=\"anchor\")\n",
    "        # add vline to separate bad and good algos\n",
    "        ymin, ymax = ax.get_ylim()\n",
    "        ax.vlines([n_show + 0.5], ymin, ymax, colors=\"black\", linestyles=\"dashed\")\n",
    "        fig.tight_layout()\n",
    "        return fig\n",
    "\n",
    "def plot_algorithm_bars(df, y_name=\"ROC_AUC\", title=\"Bar chart for algorithms\", use_plotly=default_use_plotly):\n",
    "    if use_plotly:\n",
    "        fig = px.bar(df, x=\"algorithm\", y=y_name)\n",
    "        py.iplot(fig)\n",
    "    else:\n",
    "        fig = plt.figure()\n",
    "        ax = fig.gca()\n",
    "        ax.bar(df[\"algorithm\"], df[y_name], label=y_name)\n",
    "        ax.set_ylabel(y_name)\n",
    "        ax.set_title(title)\n",
    "        ax.set_xticklabels(df[\"algorithm\"], rotation=-45, ha=\"left\", rotation_mode=\"anchor\")\n",
    "        ax.legend()\n",
    "        return fig"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Analyze overall results on the GutenTAG datasets\n",
    "\n",
    "### Overview"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>algorithm</th>\n",
       "      <th>collection</th>\n",
       "      <th>dataset</th>\n",
       "      <th>status</th>\n",
       "      <th>ROC_AUC</th>\n",
       "      <th>AVERAGE_PRECISION</th>\n",
       "      <th>PR_AUC</th>\n",
       "      <th>RANGE_PR_AUC</th>\n",
       "      <th>execute_main_time</th>\n",
       "      <th>hyper_params</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>CBLOF</td>\n",
       "      <td>Exathlon</td>\n",
       "      <td>5_1_100000_63-64</td>\n",
       "      <td>Status.OK</td>\n",
       "      <td>0.622689</td>\n",
       "      <td>0.209238</td>\n",
       "      <td>0.209073</td>\n",
       "      <td>NaN</td>\n",
       "      <td>95.253151</td>\n",
       "      <td>{\"n_clusters\": 50, \"n_jobs\": 1, \"random_state\"...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>CBLOF</td>\n",
       "      <td>Exathlon</td>\n",
       "      <td>5_1_100000_64-63</td>\n",
       "      <td>Status.OK</td>\n",
       "      <td>0.884776</td>\n",
       "      <td>0.485645</td>\n",
       "      <td>0.485403</td>\n",
       "      <td>NaN</td>\n",
       "      <td>92.362750</td>\n",
       "      <td>{\"n_clusters\": 50, \"n_jobs\": 1, \"random_state\"...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>CBLOF</td>\n",
       "      <td>Exathlon</td>\n",
       "      <td>1_2_100000_68-16</td>\n",
       "      <td>Status.ERROR</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>{\"n_clusters\": 50, \"n_jobs\": 1, \"random_state\"...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>CBLOF</td>\n",
       "      <td>Exathlon</td>\n",
       "      <td>4_1_100000_61-29</td>\n",
       "      <td>Status.OK</td>\n",
       "      <td>0.633781</td>\n",
       "      <td>0.359252</td>\n",
       "      <td>0.359204</td>\n",
       "      <td>NaN</td>\n",
       "      <td>204.126040</td>\n",
       "      <td>{\"n_clusters\": 50, \"n_jobs\": 1, \"random_state\"...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>COF</td>\n",
       "      <td>Exathlon</td>\n",
       "      <td>5_1_100000_63-64</td>\n",
       "      <td>Status.ERROR</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>{\"n_neighbors\": 50, \"random_state\": 42}</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1914</th>\n",
       "      <td>normal</td>\n",
       "      <td>WebscopeS5</td>\n",
       "      <td>A4Benchmark-86</td>\n",
       "      <td>Status.OK</td>\n",
       "      <td>0.500000</td>\n",
       "      <td>0.009524</td>\n",
       "      <td>0.504762</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>{}</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1915</th>\n",
       "      <td>normal</td>\n",
       "      <td>Exathlon</td>\n",
       "      <td>5_1_100000_63-64</td>\n",
       "      <td>Status.OK</td>\n",
       "      <td>0.500000</td>\n",
       "      <td>0.126248</td>\n",
       "      <td>0.563124</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.000039</td>\n",
       "      <td>{}</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1916</th>\n",
       "      <td>normal</td>\n",
       "      <td>Exathlon</td>\n",
       "      <td>5_1_100000_64-63</td>\n",
       "      <td>Status.OK</td>\n",
       "      <td>0.500000</td>\n",
       "      <td>0.062752</td>\n",
       "      <td>0.531376</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.000051</td>\n",
       "      <td>{}</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1917</th>\n",
       "      <td>normal</td>\n",
       "      <td>Exathlon</td>\n",
       "      <td>1_2_100000_68-16</td>\n",
       "      <td>Status.OK</td>\n",
       "      <td>0.500000</td>\n",
       "      <td>0.788147</td>\n",
       "      <td>0.894074</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.000034</td>\n",
       "      <td>{}</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1918</th>\n",
       "      <td>normal</td>\n",
       "      <td>Exathlon</td>\n",
       "      <td>4_1_100000_61-29</td>\n",
       "      <td>Status.OK</td>\n",
       "      <td>0.500000</td>\n",
       "      <td>0.124655</td>\n",
       "      <td>0.562327</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.000119</td>\n",
       "      <td>{}</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>1919 rows × 10 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     algorithm  collection           dataset        status   ROC_AUC  \\\n",
       "0        CBLOF    Exathlon  5_1_100000_63-64     Status.OK  0.622689   \n",
       "1        CBLOF    Exathlon  5_1_100000_64-63     Status.OK  0.884776   \n",
       "2        CBLOF    Exathlon  1_2_100000_68-16  Status.ERROR       NaN   \n",
       "3        CBLOF    Exathlon  4_1_100000_61-29     Status.OK  0.633781   \n",
       "4          COF    Exathlon  5_1_100000_63-64  Status.ERROR       NaN   \n",
       "...        ...         ...               ...           ...       ...   \n",
       "1914    normal  WebscopeS5    A4Benchmark-86     Status.OK  0.500000   \n",
       "1915    normal    Exathlon  5_1_100000_63-64     Status.OK  0.500000   \n",
       "1916    normal    Exathlon  5_1_100000_64-63     Status.OK  0.500000   \n",
       "1917    normal    Exathlon  1_2_100000_68-16     Status.OK  0.500000   \n",
       "1918    normal    Exathlon  4_1_100000_61-29     Status.OK  0.500000   \n",
       "\n",
       "      AVERAGE_PRECISION    PR_AUC  RANGE_PR_AUC  execute_main_time  \\\n",
       "0              0.209238  0.209073           NaN          95.253151   \n",
       "1              0.485645  0.485403           NaN          92.362750   \n",
       "2                   NaN       NaN           NaN                NaN   \n",
       "3              0.359252  0.359204           NaN         204.126040   \n",
       "4                   NaN       NaN           NaN                NaN   \n",
       "...                 ...       ...           ...                ...   \n",
       "1914           0.009524  0.504762           NaN           0.000026   \n",
       "1915           0.126248  0.563124           NaN           0.000039   \n",
       "1916           0.062752  0.531376           NaN           0.000051   \n",
       "1917           0.788147  0.894074           NaN           0.000034   \n",
       "1918           0.124655  0.562327           NaN           0.000119   \n",
       "\n",
       "                                           hyper_params  \n",
       "0     {\"n_clusters\": 50, \"n_jobs\": 1, \"random_state\"...  \n",
       "1     {\"n_clusters\": 50, \"n_jobs\": 1, \"random_state\"...  \n",
       "2     {\"n_clusters\": 50, \"n_jobs\": 1, \"random_state\"...  \n",
       "3     {\"n_clusters\": 50, \"n_jobs\": 1, \"random_state\"...  \n",
       "4               {\"n_neighbors\": 50, \"random_state\": 42}  \n",
       "...                                                 ...  \n",
       "1914                                                 {}  \n",
       "1915                                                 {}  \n",
       "1916                                                 {}  \n",
       "1917                                                 {}  \n",
       "1918                                                 {}  \n",
       "\n",
       "[1919 rows x 10 columns]"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[[\"algorithm\", \"collection\", \"dataset\", \"status\", \"ROC_AUC\", \"AVERAGE_PRECISION\", \"PR_AUC\", \"RANGE_PR_AUC\", \"execute_main_time\", \"hyper_params\"]]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Algorithm problems grouped by algorithm training type"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "SEMI_SUPERVISED\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>status</th>\n",
       "      <th>Status.ERROR</th>\n",
       "      <th>Status.OK</th>\n",
       "      <th>Status.TIMEOUT</th>\n",
       "      <th>ALL</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>algo_input_dimensionality</th>\n",
       "      <th>algorithm</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th rowspan=\"3\" valign=\"top\">UNIVARIATE</th>\n",
       "      <th>TARZAN</th>\n",
       "      <td>9</td>\n",
       "      <td>46</td>\n",
       "      <td>0</td>\n",
       "      <td>55</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>OceanWNN</th>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>SR-CNN</th>\n",
       "      <td>1</td>\n",
       "      <td>15</td>\n",
       "      <td>9</td>\n",
       "      <td>25</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"11\" valign=\"top\">MULTIVARIATE</th>\n",
       "      <th>TAnoGan</th>\n",
       "      <td>3</td>\n",
       "      <td>12</td>\n",
       "      <td>13</td>\n",
       "      <td>28</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Hybrid KNN</th>\n",
       "      <td>2</td>\n",
       "      <td>109</td>\n",
       "      <td>0</td>\n",
       "      <td>111</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>LSTM-AD</th>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>DeepAnT</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>EncDec-AD</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>LaserDBN</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>OmniAnomaly</th>\n",
       "      <td>1</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Random Black Forest (RR)</th>\n",
       "      <td>1</td>\n",
       "      <td>8</td>\n",
       "      <td>2</td>\n",
       "      <td>11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Telemanom</th>\n",
       "      <td>1</td>\n",
       "      <td>41</td>\n",
       "      <td>0</td>\n",
       "      <td>42</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>HealthESN</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>RobustPCA</th>\n",
       "      <td>0</td>\n",
       "      <td>12</td>\n",
       "      <td>0</td>\n",
       "      <td>12</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "status                                              Status.ERROR  Status.OK  \\\n",
       "algo_input_dimensionality algorithm                                           \n",
       "UNIVARIATE                TARZAN                               9         46   \n",
       "                          OceanWNN                             1          3   \n",
       "                          SR-CNN                               1         15   \n",
       "MULTIVARIATE              TAnoGan                              3         12   \n",
       "                          Hybrid KNN                           2        109   \n",
       "                          LSTM-AD                              2          0   \n",
       "                          DeepAnT                              1          1   \n",
       "                          EncDec-AD                            1          0   \n",
       "                          LaserDBN                             1          0   \n",
       "                          OmniAnomaly                          1          4   \n",
       "                          Random Black Forest (RR)             1          8   \n",
       "                          Telemanom                            1         41   \n",
       "                          HealthESN                            0          0   \n",
       "                          RobustPCA                            0         12   \n",
       "\n",
       "status                                              Status.TIMEOUT  ALL  \n",
       "algo_input_dimensionality algorithm                                      \n",
       "UNIVARIATE                TARZAN                                 0   55  \n",
       "                          OceanWNN                               0    4  \n",
       "                          SR-CNN                                 9   25  \n",
       "MULTIVARIATE              TAnoGan                               13   28  \n",
       "                          Hybrid KNN                             0  111  \n",
       "                          LSTM-AD                                0    2  \n",
       "                          DeepAnT                                0    2  \n",
       "                          EncDec-AD                              1    2  \n",
       "                          LaserDBN                               1    2  \n",
       "                          OmniAnomaly                            0    5  \n",
       "                          Random Black Forest (RR)               2   11  \n",
       "                          Telemanom                              0   42  \n",
       "                          HealthESN                              2    2  \n",
       "                          RobustPCA                              0   12  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "SUPERVISED\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>status</th>\n",
       "      <th>Status.ERROR</th>\n",
       "      <th>Status.OK</th>\n",
       "      <th>Status.TIMEOUT</th>\n",
       "      <th>ALL</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>algo_input_dimensionality</th>\n",
       "      <th>algorithm</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th rowspan=\"3\" valign=\"top\">MULTIVARIATE</th>\n",
       "      <th>MultiHMM</th>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Normalizing Flows</th>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Hybrid Isolation Forest (HIF)</th>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "status                                                   Status.ERROR  \\\n",
       "algo_input_dimensionality algorithm                                     \n",
       "MULTIVARIATE              MultiHMM                                  2   \n",
       "                          Normalizing Flows                         2   \n",
       "                          Hybrid Isolation Forest (HIF)             0   \n",
       "\n",
       "status                                                   Status.OK  \\\n",
       "algo_input_dimensionality algorithm                                  \n",
       "MULTIVARIATE              MultiHMM                               0   \n",
       "                          Normalizing Flows                      0   \n",
       "                          Hybrid Isolation Forest (HIF)          2   \n",
       "\n",
       "status                                                   Status.TIMEOUT  ALL  \n",
       "algo_input_dimensionality algorithm                                           \n",
       "MULTIVARIATE              MultiHMM                                    0    2  \n",
       "                          Normalizing Flows                           0    2  \n",
       "                          Hybrid Isolation Forest (HIF)               0    2  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "UNSUPERVISED\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>status</th>\n",
       "      <th>Status.ERROR</th>\n",
       "      <th>Status.OK</th>\n",
       "      <th>Status.TIMEOUT</th>\n",
       "      <th>ALL</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>algo_input_dimensionality</th>\n",
       "      <th>algorithm</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th rowspan=\"19\" valign=\"top\">UNIVARIATE</th>\n",
       "      <th>S-H-ESD (Twitter)</th>\n",
       "      <td>114</td>\n",
       "      <td>26</td>\n",
       "      <td>0</td>\n",
       "      <td>140</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>VALMOD</th>\n",
       "      <td>26</td>\n",
       "      <td>68</td>\n",
       "      <td>0</td>\n",
       "      <td>94</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Triple ES (Holt-Winter's)</th>\n",
       "      <td>17</td>\n",
       "      <td>56</td>\n",
       "      <td>27</td>\n",
       "      <td>100</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Left STAMPi</th>\n",
       "      <td>14</td>\n",
       "      <td>54</td>\n",
       "      <td>2</td>\n",
       "      <td>70</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>SAND</th>\n",
       "      <td>4</td>\n",
       "      <td>8</td>\n",
       "      <td>2</td>\n",
       "      <td>14</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>PST</th>\n",
       "      <td>3</td>\n",
       "      <td>21</td>\n",
       "      <td>0</td>\n",
       "      <td>24</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>GrammarViz</th>\n",
       "      <td>0</td>\n",
       "      <td>70</td>\n",
       "      <td>0</td>\n",
       "      <td>70</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>NormA</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>NumentaHTM</th>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>PCI</th>\n",
       "      <td>0</td>\n",
       "      <td>9</td>\n",
       "      <td>0</td>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>PhaseSpace-SVM</th>\n",
       "      <td>0</td>\n",
       "      <td>13</td>\n",
       "      <td>1</td>\n",
       "      <td>14</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>SSA</th>\n",
       "      <td>0</td>\n",
       "      <td>22</td>\n",
       "      <td>0</td>\n",
       "      <td>22</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>STAMP</th>\n",
       "      <td>0</td>\n",
       "      <td>99</td>\n",
       "      <td>6</td>\n",
       "      <td>105</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>STOMP</th>\n",
       "      <td>0</td>\n",
       "      <td>101</td>\n",
       "      <td>2</td>\n",
       "      <td>103</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Series2Graph</th>\n",
       "      <td>0</td>\n",
       "      <td>14</td>\n",
       "      <td>0</td>\n",
       "      <td>14</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Spectral Residual (SR)</th>\n",
       "      <td>0</td>\n",
       "      <td>26</td>\n",
       "      <td>0</td>\n",
       "      <td>26</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Subsequence IF</th>\n",
       "      <td>0</td>\n",
       "      <td>51</td>\n",
       "      <td>0</td>\n",
       "      <td>51</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Subsequence LOF</th>\n",
       "      <td>0</td>\n",
       "      <td>45</td>\n",
       "      <td>1</td>\n",
       "      <td>46</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>TSBitmap</th>\n",
       "      <td>0</td>\n",
       "      <td>136</td>\n",
       "      <td>0</td>\n",
       "      <td>136</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"14\" valign=\"top\">MULTIVARIATE</th>\n",
       "      <th>COF</th>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>DBStream</th>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Torsk</th>\n",
       "      <td>3</td>\n",
       "      <td>64</td>\n",
       "      <td>24</td>\n",
       "      <td>91</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>k-Means</th>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>PCC</th>\n",
       "      <td>2</td>\n",
       "      <td>17</td>\n",
       "      <td>0</td>\n",
       "      <td>19</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>normal</th>\n",
       "      <td>2</td>\n",
       "      <td>410</td>\n",
       "      <td>0</td>\n",
       "      <td>412</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>CBLOF</th>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>COPOD</th>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>HBOS</th>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Isolation Forest (iForest)</th>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>KNN</th>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>LOF</th>\n",
       "      <td>1</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Extended Isolation Forest (EIF)</th>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>IF-LOF</th>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "status                                                     Status.ERROR  \\\n",
       "algo_input_dimensionality algorithm                                       \n",
       "UNIVARIATE                S-H-ESD (Twitter)                         114   \n",
       "                          VALMOD                                     26   \n",
       "                          Triple ES (Holt-Winter's)                  17   \n",
       "                          Left STAMPi                                14   \n",
       "                          SAND                                        4   \n",
       "                          PST                                         3   \n",
       "                          GrammarViz                                  0   \n",
       "                          NormA                                       0   \n",
       "                          NumentaHTM                                  0   \n",
       "                          PCI                                         0   \n",
       "                          PhaseSpace-SVM                              0   \n",
       "                          SSA                                         0   \n",
       "                          STAMP                                       0   \n",
       "                          STOMP                                       0   \n",
       "                          Series2Graph                                0   \n",
       "                          Spectral Residual (SR)                      0   \n",
       "                          Subsequence IF                              0   \n",
       "                          Subsequence LOF                             0   \n",
       "                          TSBitmap                                    0   \n",
       "MULTIVARIATE              COF                                         4   \n",
       "                          DBStream                                    4   \n",
       "                          Torsk                                       3   \n",
       "                          k-Means                                     3   \n",
       "                          PCC                                         2   \n",
       "                          normal                                      2   \n",
       "                          CBLOF                                       1   \n",
       "                          COPOD                                       1   \n",
       "                          HBOS                                        1   \n",
       "                          Isolation Forest (iForest)                  1   \n",
       "                          KNN                                         1   \n",
       "                          LOF                                         1   \n",
       "                          Extended Isolation Forest (EIF)             0   \n",
       "                          IF-LOF                                      0   \n",
       "\n",
       "status                                                     Status.OK  \\\n",
       "algo_input_dimensionality algorithm                                    \n",
       "UNIVARIATE                S-H-ESD (Twitter)                       26   \n",
       "                          VALMOD                                  68   \n",
       "                          Triple ES (Holt-Winter's)               56   \n",
       "                          Left STAMPi                             54   \n",
       "                          SAND                                     8   \n",
       "                          PST                                     21   \n",
       "                          GrammarViz                              70   \n",
       "                          NormA                                    0   \n",
       "                          NumentaHTM                               4   \n",
       "                          PCI                                      9   \n",
       "                          PhaseSpace-SVM                          13   \n",
       "                          SSA                                     22   \n",
       "                          STAMP                                   99   \n",
       "                          STOMP                                  101   \n",
       "                          Series2Graph                            14   \n",
       "                          Spectral Residual (SR)                  26   \n",
       "                          Subsequence IF                          51   \n",
       "                          Subsequence LOF                         45   \n",
       "                          TSBitmap                               136   \n",
       "MULTIVARIATE              COF                                      0   \n",
       "                          DBStream                                 0   \n",
       "                          Torsk                                   64   \n",
       "                          k-Means                                  1   \n",
       "                          PCC                                     17   \n",
       "                          normal                                 410   \n",
       "                          CBLOF                                    3   \n",
       "                          COPOD                                    3   \n",
       "                          HBOS                                     3   \n",
       "                          Isolation Forest (iForest)               3   \n",
       "                          KNN                                      3   \n",
       "                          LOF                                      4   \n",
       "                          Extended Isolation Forest (EIF)          4   \n",
       "                          IF-LOF                                   4   \n",
       "\n",
       "status                                                     Status.TIMEOUT  ALL  \n",
       "algo_input_dimensionality algorithm                                             \n",
       "UNIVARIATE                S-H-ESD (Twitter)                             0  140  \n",
       "                          VALMOD                                        0   94  \n",
       "                          Triple ES (Holt-Winter's)                    27  100  \n",
       "                          Left STAMPi                                   2   70  \n",
       "                          SAND                                          2   14  \n",
       "                          PST                                           0   24  \n",
       "                          GrammarViz                                    0   70  \n",
       "                          NormA                                         1    1  \n",
       "                          NumentaHTM                                    0    4  \n",
       "                          PCI                                           0    9  \n",
       "                          PhaseSpace-SVM                                1   14  \n",
       "                          SSA                                           0   22  \n",
       "                          STAMP                                         6  105  \n",
       "                          STOMP                                         2  103  \n",
       "                          Series2Graph                                  0   14  \n",
       "                          Spectral Residual (SR)                        0   26  \n",
       "                          Subsequence IF                                0   51  \n",
       "                          Subsequence LOF                               1   46  \n",
       "                          TSBitmap                                      0  136  \n",
       "MULTIVARIATE              COF                                           0    4  \n",
       "                          DBStream                                      0    4  \n",
       "                          Torsk                                        24   91  \n",
       "                          k-Means                                       0    4  \n",
       "                          PCC                                           0   19  \n",
       "                          normal                                        0  412  \n",
       "                          CBLOF                                         0    4  \n",
       "                          COPOD                                         0    4  \n",
       "                          HBOS                                          0    4  \n",
       "                          Isolation Forest (iForest)                    0    4  \n",
       "                          KNN                                           0    4  \n",
       "                          LOF                                           0    5  \n",
       "                          Extended Isolation Forest (EIF)               0    4  \n",
       "                          IF-LOF                                        0    4  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "index_columns = [\"algo_training_type\", \"algo_input_dimensionality\", \"algorithm\"]\n",
    "df_error_counts = df.pivot_table(index=index_columns, columns=[\"status\"], values=\"repetition\", aggfunc=\"count\")\n",
    "df_error_counts = df_error_counts.fillna(value=0).astype(np.int64)\n",
    "df_error_counts = df_error_counts.reset_index().sort_values(by=[\"algo_input_dimensionality\", \"Status.ERROR\"], ascending=False).set_index(index_columns)\n",
    "df_error_counts[\"ALL\"] = df_error_counts[\"Status.ERROR\"] + df_error_counts[\"Status.OK\"] + df_error_counts[\"Status.TIMEOUT\"]\n",
    "\n",
    "for tpe in [\"SEMI_SUPERVISED\", \"SUPERVISED\", \"UNSUPERVISED\"]:\n",
    "    if tpe in df_error_counts.index:\n",
    "        print(tpe)\n",
    "        if default_use_plotly:\n",
    "            py.iplot(ff.create_table(df_error_counts.loc[tpe], index=True))\n",
    "        else:\n",
    "            display(df_error_counts.loc[tpe])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Summary"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style type=\"text/css\">\n",
       "</style>\n",
       "<table id=\"T_5f589_\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th class=\"blank level0\" >&nbsp;</th>\n",
       "      <th class=\"col_heading level0 col0\" >count</th>\n",
       "      <th class=\"col_heading level0 col1\" >percentage</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th class=\"index_name level0\" >status</th>\n",
       "      <th class=\"blank col0\" >&nbsp;</th>\n",
       "      <th class=\"blank col1\" >&nbsp;</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th id=\"T_5f589_level0_row0\" class=\"row_heading level0 row0\" >Status.ERROR</th>\n",
       "      <td id=\"T_5f589_row0_col0\" class=\"data row0 col0\" >230</td>\n",
       "      <td id=\"T_5f589_row0_col1\" class=\"data row0 col1\" >11.99%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th id=\"T_5f589_level0_row1\" class=\"row_heading level0 row1\" >Status.OK</th>\n",
       "      <td id=\"T_5f589_row1_col0\" class=\"data row1 col0\" >1595</td>\n",
       "      <td id=\"T_5f589_row1_col1\" class=\"data row1 col1\" >83.12%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th id=\"T_5f589_level0_row2\" class=\"row_heading level0 row2\" >Status.TIMEOUT</th>\n",
       "      <td id=\"T_5f589_row2_col0\" class=\"data row2 col0\" >94</td>\n",
       "      <td id=\"T_5f589_row2_col1\" class=\"data row2 col1\" >04.90%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th id=\"T_5f589_level0_row3\" class=\"row_heading level0 row3\" >ALL</th>\n",
       "      <td id=\"T_5f589_row3_col0\" class=\"data row3 col0\" >1919</td>\n",
       "      <td id=\"T_5f589_row3_col1\" class=\"data row3 col1\" >100.00%</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n"
      ],
      "text/plain": [
       "<pandas.io.formats.style.Styler at 0x7fc59c186e80>"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_error_summary = pd.DataFrame(df_error_counts.sum(axis=0))\n",
    "df_error_summary.columns = [\"count\"]\n",
    "all_count = df_error_summary.loc[\"ALL\", \"count\"]\n",
    "df_error_summary[\"percentage\"] = df_error_summary / all_count\n",
    "df_error_summary.style.format({\"percentage\": \"{:06.2%}\".format})"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Inspect errors of a specific algorithm:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style type=\"text/css\">\n",
       "</style>\n",
       "<table id=\"T_66dd7_\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th class=\"index_name level0\" >algorithm</th>\n",
       "      <th class=\"col_heading level0 col0\" >ALL (sum)</th>\n",
       "      <th class=\"col_heading level0 col1\" >CBLOF</th>\n",
       "      <th class=\"col_heading level0 col2\" >COF</th>\n",
       "      <th class=\"col_heading level0 col3\" >COPOD</th>\n",
       "      <th class=\"col_heading level0 col4\" >DBStream</th>\n",
       "      <th class=\"col_heading level0 col5\" >DeepAnT</th>\n",
       "      <th class=\"col_heading level0 col6\" >EncDec-AD</th>\n",
       "      <th class=\"col_heading level0 col7\" >Extended Isolation Forest (EIF)</th>\n",
       "      <th class=\"col_heading level0 col8\" >GrammarViz</th>\n",
       "      <th class=\"col_heading level0 col9\" >HBOS</th>\n",
       "      <th class=\"col_heading level0 col10\" >HealthESN</th>\n",
       "      <th class=\"col_heading level0 col11\" >Hybrid Isolation Forest (HIF)</th>\n",
       "      <th class=\"col_heading level0 col12\" >Hybrid KNN</th>\n",
       "      <th class=\"col_heading level0 col13\" >IF-LOF</th>\n",
       "      <th class=\"col_heading level0 col14\" >Isolation Forest (iForest)</th>\n",
       "      <th class=\"col_heading level0 col15\" >KNN</th>\n",
       "      <th class=\"col_heading level0 col16\" >LOF</th>\n",
       "      <th class=\"col_heading level0 col17\" >LSTM-AD</th>\n",
       "      <th class=\"col_heading level0 col18\" >LaserDBN</th>\n",
       "      <th class=\"col_heading level0 col19\" >Left STAMPi</th>\n",
       "      <th class=\"col_heading level0 col20\" >MultiHMM</th>\n",
       "      <th class=\"col_heading level0 col21\" >NormA</th>\n",
       "      <th class=\"col_heading level0 col22\" >Normalizing Flows</th>\n",
       "      <th class=\"col_heading level0 col23\" >NumentaHTM</th>\n",
       "      <th class=\"col_heading level0 col24\" >OceanWNN</th>\n",
       "      <th class=\"col_heading level0 col25\" >OmniAnomaly</th>\n",
       "      <th class=\"col_heading level0 col26\" >PCC</th>\n",
       "      <th class=\"col_heading level0 col27\" >PCI</th>\n",
       "      <th class=\"col_heading level0 col28\" >PST</th>\n",
       "      <th class=\"col_heading level0 col29\" >PhaseSpace-SVM</th>\n",
       "      <th class=\"col_heading level0 col30\" >Random Black Forest (RR)</th>\n",
       "      <th class=\"col_heading level0 col31\" >RobustPCA</th>\n",
       "      <th class=\"col_heading level0 col32\" >S-H-ESD (Twitter)</th>\n",
       "      <th class=\"col_heading level0 col33\" >SAND</th>\n",
       "      <th class=\"col_heading level0 col34\" >SR-CNN</th>\n",
       "      <th class=\"col_heading level0 col35\" >SSA</th>\n",
       "      <th class=\"col_heading level0 col36\" >STAMP</th>\n",
       "      <th class=\"col_heading level0 col37\" >STOMP</th>\n",
       "      <th class=\"col_heading level0 col38\" >Series2Graph</th>\n",
       "      <th class=\"col_heading level0 col39\" >Spectral Residual (SR)</th>\n",
       "      <th class=\"col_heading level0 col40\" >Subsequence IF</th>\n",
       "      <th class=\"col_heading level0 col41\" >Subsequence LOF</th>\n",
       "      <th class=\"col_heading level0 col42\" >TARZAN</th>\n",
       "      <th class=\"col_heading level0 col43\" >TAnoGan</th>\n",
       "      <th class=\"col_heading level0 col44\" >TSBitmap</th>\n",
       "      <th class=\"col_heading level0 col45\" >Telemanom</th>\n",
       "      <th class=\"col_heading level0 col46\" >Torsk</th>\n",
       "      <th class=\"col_heading level0 col47\" >Triple ES (Holt-Winter's)</th>\n",
       "      <th class=\"col_heading level0 col48\" >VALMOD</th>\n",
       "      <th class=\"col_heading level0 col49\" >k-Means</th>\n",
       "      <th class=\"col_heading level0 col50\" >normal</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th class=\"index_name level0\" >error_category</th>\n",
       "      <th class=\"blank col0\" >&nbsp;</th>\n",
       "      <th class=\"blank col1\" >&nbsp;</th>\n",
       "      <th class=\"blank col2\" >&nbsp;</th>\n",
       "      <th class=\"blank col3\" >&nbsp;</th>\n",
       "      <th class=\"blank col4\" >&nbsp;</th>\n",
       "      <th class=\"blank col5\" >&nbsp;</th>\n",
       "      <th class=\"blank col6\" >&nbsp;</th>\n",
       "      <th class=\"blank col7\" >&nbsp;</th>\n",
       "      <th class=\"blank col8\" >&nbsp;</th>\n",
       "      <th class=\"blank col9\" >&nbsp;</th>\n",
       "      <th class=\"blank col10\" >&nbsp;</th>\n",
       "      <th class=\"blank col11\" >&nbsp;</th>\n",
       "      <th class=\"blank col12\" >&nbsp;</th>\n",
       "      <th class=\"blank col13\" >&nbsp;</th>\n",
       "      <th class=\"blank col14\" >&nbsp;</th>\n",
       "      <th class=\"blank col15\" >&nbsp;</th>\n",
       "      <th class=\"blank col16\" >&nbsp;</th>\n",
       "      <th class=\"blank col17\" >&nbsp;</th>\n",
       "      <th class=\"blank col18\" >&nbsp;</th>\n",
       "      <th class=\"blank col19\" >&nbsp;</th>\n",
       "      <th class=\"blank col20\" >&nbsp;</th>\n",
       "      <th class=\"blank col21\" >&nbsp;</th>\n",
       "      <th class=\"blank col22\" >&nbsp;</th>\n",
       "      <th class=\"blank col23\" >&nbsp;</th>\n",
       "      <th class=\"blank col24\" >&nbsp;</th>\n",
       "      <th class=\"blank col25\" >&nbsp;</th>\n",
       "      <th class=\"blank col26\" >&nbsp;</th>\n",
       "      <th class=\"blank col27\" >&nbsp;</th>\n",
       "      <th class=\"blank col28\" >&nbsp;</th>\n",
       "      <th class=\"blank col29\" >&nbsp;</th>\n",
       "      <th class=\"blank col30\" >&nbsp;</th>\n",
       "      <th class=\"blank col31\" >&nbsp;</th>\n",
       "      <th class=\"blank col32\" >&nbsp;</th>\n",
       "      <th class=\"blank col33\" >&nbsp;</th>\n",
       "      <th class=\"blank col34\" >&nbsp;</th>\n",
       "      <th class=\"blank col35\" >&nbsp;</th>\n",
       "      <th class=\"blank col36\" >&nbsp;</th>\n",
       "      <th class=\"blank col37\" >&nbsp;</th>\n",
       "      <th class=\"blank col38\" >&nbsp;</th>\n",
       "      <th class=\"blank col39\" >&nbsp;</th>\n",
       "      <th class=\"blank col40\" >&nbsp;</th>\n",
       "      <th class=\"blank col41\" >&nbsp;</th>\n",
       "      <th class=\"blank col42\" >&nbsp;</th>\n",
       "      <th class=\"blank col43\" >&nbsp;</th>\n",
       "      <th class=\"blank col44\" >&nbsp;</th>\n",
       "      <th class=\"blank col45\" >&nbsp;</th>\n",
       "      <th class=\"blank col46\" >&nbsp;</th>\n",
       "      <th class=\"blank col47\" >&nbsp;</th>\n",
       "      <th class=\"blank col48\" >&nbsp;</th>\n",
       "      <th class=\"blank col49\" >&nbsp;</th>\n",
       "      <th class=\"blank col50\" >&nbsp;</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th id=\"T_66dd7_level0_row0\" class=\"row_heading level0 row0\" >- OK -</th>\n",
       "      <td id=\"T_66dd7_row0_col0\" class=\"data row0 col0\" >1595</td>\n",
       "      <td id=\"T_66dd7_row0_col1\" class=\"data row0 col1\" >3</td>\n",
       "      <td id=\"T_66dd7_row0_col2\" class=\"data row0 col2\" ></td>\n",
       "      <td id=\"T_66dd7_row0_col3\" class=\"data row0 col3\" >3</td>\n",
       "      <td id=\"T_66dd7_row0_col4\" class=\"data row0 col4\" ></td>\n",
       "      <td id=\"T_66dd7_row0_col5\" class=\"data row0 col5\" >1</td>\n",
       "      <td id=\"T_66dd7_row0_col6\" class=\"data row0 col6\" ></td>\n",
       "      <td id=\"T_66dd7_row0_col7\" class=\"data row0 col7\" >4</td>\n",
       "      <td id=\"T_66dd7_row0_col8\" class=\"data row0 col8\" >70</td>\n",
       "      <td id=\"T_66dd7_row0_col9\" class=\"data row0 col9\" >3</td>\n",
       "      <td id=\"T_66dd7_row0_col10\" class=\"data row0 col10\" ></td>\n",
       "      <td id=\"T_66dd7_row0_col11\" class=\"data row0 col11\" >2</td>\n",
       "      <td id=\"T_66dd7_row0_col12\" class=\"data row0 col12\" >109</td>\n",
       "      <td id=\"T_66dd7_row0_col13\" class=\"data row0 col13\" >4</td>\n",
       "      <td id=\"T_66dd7_row0_col14\" class=\"data row0 col14\" >3</td>\n",
       "      <td id=\"T_66dd7_row0_col15\" class=\"data row0 col15\" >3</td>\n",
       "      <td id=\"T_66dd7_row0_col16\" class=\"data row0 col16\" >4</td>\n",
       "      <td id=\"T_66dd7_row0_col17\" class=\"data row0 col17\" ></td>\n",
       "      <td id=\"T_66dd7_row0_col18\" class=\"data row0 col18\" ></td>\n",
       "      <td id=\"T_66dd7_row0_col19\" class=\"data row0 col19\" >54</td>\n",
       "      <td id=\"T_66dd7_row0_col20\" class=\"data row0 col20\" ></td>\n",
       "      <td id=\"T_66dd7_row0_col21\" class=\"data row0 col21\" ></td>\n",
       "      <td id=\"T_66dd7_row0_col22\" class=\"data row0 col22\" ></td>\n",
       "      <td id=\"T_66dd7_row0_col23\" class=\"data row0 col23\" >4</td>\n",
       "      <td id=\"T_66dd7_row0_col24\" class=\"data row0 col24\" >3</td>\n",
       "      <td id=\"T_66dd7_row0_col25\" class=\"data row0 col25\" >4</td>\n",
       "      <td id=\"T_66dd7_row0_col26\" class=\"data row0 col26\" >17</td>\n",
       "      <td id=\"T_66dd7_row0_col27\" class=\"data row0 col27\" >9</td>\n",
       "      <td id=\"T_66dd7_row0_col28\" class=\"data row0 col28\" >21</td>\n",
       "      <td id=\"T_66dd7_row0_col29\" class=\"data row0 col29\" >13</td>\n",
       "      <td id=\"T_66dd7_row0_col30\" class=\"data row0 col30\" >8</td>\n",
       "      <td id=\"T_66dd7_row0_col31\" class=\"data row0 col31\" >12</td>\n",
       "      <td id=\"T_66dd7_row0_col32\" class=\"data row0 col32\" >26</td>\n",
       "      <td id=\"T_66dd7_row0_col33\" class=\"data row0 col33\" >8</td>\n",
       "      <td id=\"T_66dd7_row0_col34\" class=\"data row0 col34\" >15</td>\n",
       "      <td id=\"T_66dd7_row0_col35\" class=\"data row0 col35\" >22</td>\n",
       "      <td id=\"T_66dd7_row0_col36\" class=\"data row0 col36\" >99</td>\n",
       "      <td id=\"T_66dd7_row0_col37\" class=\"data row0 col37\" >101</td>\n",
       "      <td id=\"T_66dd7_row0_col38\" class=\"data row0 col38\" >14</td>\n",
       "      <td id=\"T_66dd7_row0_col39\" class=\"data row0 col39\" >26</td>\n",
       "      <td id=\"T_66dd7_row0_col40\" class=\"data row0 col40\" >51</td>\n",
       "      <td id=\"T_66dd7_row0_col41\" class=\"data row0 col41\" >45</td>\n",
       "      <td id=\"T_66dd7_row0_col42\" class=\"data row0 col42\" >46</td>\n",
       "      <td id=\"T_66dd7_row0_col43\" class=\"data row0 col43\" >12</td>\n",
       "      <td id=\"T_66dd7_row0_col44\" class=\"data row0 col44\" >136</td>\n",
       "      <td id=\"T_66dd7_row0_col45\" class=\"data row0 col45\" >41</td>\n",
       "      <td id=\"T_66dd7_row0_col46\" class=\"data row0 col46\" >64</td>\n",
       "      <td id=\"T_66dd7_row0_col47\" class=\"data row0 col47\" >56</td>\n",
       "      <td id=\"T_66dd7_row0_col48\" class=\"data row0 col48\" >68</td>\n",
       "      <td id=\"T_66dd7_row0_col49\" class=\"data row0 col49\" >1</td>\n",
       "      <td id=\"T_66dd7_row0_col50\" class=\"data row0 col50\" >410</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th id=\"T_66dd7_level0_row1\" class=\"row_heading level0 row1\" >- OOM -</th>\n",
       "      <td id=\"T_66dd7_row1_col0\" class=\"data row1 col0\" >43</td>\n",
       "      <td id=\"T_66dd7_row1_col1\" class=\"data row1 col1\" ></td>\n",
       "      <td id=\"T_66dd7_row1_col2\" class=\"data row1 col2\" >3</td>\n",
       "      <td id=\"T_66dd7_row1_col3\" class=\"data row1 col3\" ></td>\n",
       "      <td id=\"T_66dd7_row1_col4\" class=\"data row1 col4\" >3</td>\n",
       "      <td id=\"T_66dd7_row1_col5\" class=\"data row1 col5\" >1</td>\n",
       "      <td id=\"T_66dd7_row1_col6\" class=\"data row1 col6\" ></td>\n",
       "      <td id=\"T_66dd7_row1_col7\" class=\"data row1 col7\" ></td>\n",
       "      <td id=\"T_66dd7_row1_col8\" class=\"data row1 col8\" ></td>\n",
       "      <td id=\"T_66dd7_row1_col9\" class=\"data row1 col9\" ></td>\n",
       "      <td id=\"T_66dd7_row1_col10\" class=\"data row1 col10\" ></td>\n",
       "      <td id=\"T_66dd7_row1_col11\" class=\"data row1 col11\" ></td>\n",
       "      <td id=\"T_66dd7_row1_col12\" class=\"data row1 col12\" >1</td>\n",
       "      <td id=\"T_66dd7_row1_col13\" class=\"data row1 col13\" ></td>\n",
       "      <td id=\"T_66dd7_row1_col14\" class=\"data row1 col14\" ></td>\n",
       "      <td id=\"T_66dd7_row1_col15\" class=\"data row1 col15\" ></td>\n",
       "      <td id=\"T_66dd7_row1_col16\" class=\"data row1 col16\" ></td>\n",
       "      <td id=\"T_66dd7_row1_col17\" class=\"data row1 col17\" >2</td>\n",
       "      <td id=\"T_66dd7_row1_col18\" class=\"data row1 col18\" >1</td>\n",
       "      <td id=\"T_66dd7_row1_col19\" class=\"data row1 col19\" ></td>\n",
       "      <td id=\"T_66dd7_row1_col20\" class=\"data row1 col20\" ></td>\n",
       "      <td id=\"T_66dd7_row1_col21\" class=\"data row1 col21\" ></td>\n",
       "      <td id=\"T_66dd7_row1_col22\" class=\"data row1 col22\" >2</td>\n",
       "      <td id=\"T_66dd7_row1_col23\" class=\"data row1 col23\" ></td>\n",
       "      <td id=\"T_66dd7_row1_col24\" class=\"data row1 col24\" ></td>\n",
       "      <td id=\"T_66dd7_row1_col25\" class=\"data row1 col25\" >1</td>\n",
       "      <td id=\"T_66dd7_row1_col26\" class=\"data row1 col26\" ></td>\n",
       "      <td id=\"T_66dd7_row1_col27\" class=\"data row1 col27\" ></td>\n",
       "      <td id=\"T_66dd7_row1_col28\" class=\"data row1 col28\" >3</td>\n",
       "      <td id=\"T_66dd7_row1_col29\" class=\"data row1 col29\" ></td>\n",
       "      <td id=\"T_66dd7_row1_col30\" class=\"data row1 col30\" >1</td>\n",
       "      <td id=\"T_66dd7_row1_col31\" class=\"data row1 col31\" ></td>\n",
       "      <td id=\"T_66dd7_row1_col32\" class=\"data row1 col32\" ></td>\n",
       "      <td id=\"T_66dd7_row1_col33\" class=\"data row1 col33\" ></td>\n",
       "      <td id=\"T_66dd7_row1_col34\" class=\"data row1 col34\" ></td>\n",
       "      <td id=\"T_66dd7_row1_col35\" class=\"data row1 col35\" ></td>\n",
       "      <td id=\"T_66dd7_row1_col36\" class=\"data row1 col36\" ></td>\n",
       "      <td id=\"T_66dd7_row1_col37\" class=\"data row1 col37\" ></td>\n",
       "      <td id=\"T_66dd7_row1_col38\" class=\"data row1 col38\" ></td>\n",
       "      <td id=\"T_66dd7_row1_col39\" class=\"data row1 col39\" ></td>\n",
       "      <td id=\"T_66dd7_row1_col40\" class=\"data row1 col40\" ></td>\n",
       "      <td id=\"T_66dd7_row1_col41\" class=\"data row1 col41\" ></td>\n",
       "      <td id=\"T_66dd7_row1_col42\" class=\"data row1 col42\" ></td>\n",
       "      <td id=\"T_66dd7_row1_col43\" class=\"data row1 col43\" >2</td>\n",
       "      <td id=\"T_66dd7_row1_col44\" class=\"data row1 col44\" ></td>\n",
       "      <td id=\"T_66dd7_row1_col45\" class=\"data row1 col45\" >1</td>\n",
       "      <td id=\"T_66dd7_row1_col46\" class=\"data row1 col46\" >1</td>\n",
       "      <td id=\"T_66dd7_row1_col47\" class=\"data row1 col47\" ></td>\n",
       "      <td id=\"T_66dd7_row1_col48\" class=\"data row1 col48\" >18</td>\n",
       "      <td id=\"T_66dd7_row1_col49\" class=\"data row1 col49\" >3</td>\n",
       "      <td id=\"T_66dd7_row1_col50\" class=\"data row1 col50\" ></td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th id=\"T_66dd7_level0_row2\" class=\"row_heading level0 row2\" >- TIMEOUT -</th>\n",
       "      <td id=\"T_66dd7_row2_col0\" class=\"data row2 col0\" >94</td>\n",
       "      <td id=\"T_66dd7_row2_col1\" class=\"data row2 col1\" ></td>\n",
       "      <td id=\"T_66dd7_row2_col2\" class=\"data row2 col2\" ></td>\n",
       "      <td id=\"T_66dd7_row2_col3\" class=\"data row2 col3\" ></td>\n",
       "      <td id=\"T_66dd7_row2_col4\" class=\"data row2 col4\" ></td>\n",
       "      <td id=\"T_66dd7_row2_col5\" class=\"data row2 col5\" ></td>\n",
       "      <td id=\"T_66dd7_row2_col6\" class=\"data row2 col6\" >1</td>\n",
       "      <td id=\"T_66dd7_row2_col7\" class=\"data row2 col7\" ></td>\n",
       "      <td id=\"T_66dd7_row2_col8\" class=\"data row2 col8\" ></td>\n",
       "      <td id=\"T_66dd7_row2_col9\" class=\"data row2 col9\" ></td>\n",
       "      <td id=\"T_66dd7_row2_col10\" class=\"data row2 col10\" >2</td>\n",
       "      <td id=\"T_66dd7_row2_col11\" class=\"data row2 col11\" ></td>\n",
       "      <td id=\"T_66dd7_row2_col12\" class=\"data row2 col12\" ></td>\n",
       "      <td id=\"T_66dd7_row2_col13\" class=\"data row2 col13\" ></td>\n",
       "      <td id=\"T_66dd7_row2_col14\" class=\"data row2 col14\" ></td>\n",
       "      <td id=\"T_66dd7_row2_col15\" class=\"data row2 col15\" ></td>\n",
       "      <td id=\"T_66dd7_row2_col16\" class=\"data row2 col16\" ></td>\n",
       "      <td id=\"T_66dd7_row2_col17\" class=\"data row2 col17\" ></td>\n",
       "      <td id=\"T_66dd7_row2_col18\" class=\"data row2 col18\" >1</td>\n",
       "      <td id=\"T_66dd7_row2_col19\" class=\"data row2 col19\" >2</td>\n",
       "      <td id=\"T_66dd7_row2_col20\" class=\"data row2 col20\" ></td>\n",
       "      <td id=\"T_66dd7_row2_col21\" class=\"data row2 col21\" >1</td>\n",
       "      <td id=\"T_66dd7_row2_col22\" class=\"data row2 col22\" ></td>\n",
       "      <td id=\"T_66dd7_row2_col23\" class=\"data row2 col23\" ></td>\n",
       "      <td id=\"T_66dd7_row2_col24\" class=\"data row2 col24\" ></td>\n",
       "      <td id=\"T_66dd7_row2_col25\" class=\"data row2 col25\" ></td>\n",
       "      <td id=\"T_66dd7_row2_col26\" class=\"data row2 col26\" ></td>\n",
       "      <td id=\"T_66dd7_row2_col27\" class=\"data row2 col27\" ></td>\n",
       "      <td id=\"T_66dd7_row2_col28\" class=\"data row2 col28\" ></td>\n",
       "      <td id=\"T_66dd7_row2_col29\" class=\"data row2 col29\" >1</td>\n",
       "      <td id=\"T_66dd7_row2_col30\" class=\"data row2 col30\" >2</td>\n",
       "      <td id=\"T_66dd7_row2_col31\" class=\"data row2 col31\" ></td>\n",
       "      <td id=\"T_66dd7_row2_col32\" class=\"data row2 col32\" ></td>\n",
       "      <td id=\"T_66dd7_row2_col33\" class=\"data row2 col33\" >2</td>\n",
       "      <td id=\"T_66dd7_row2_col34\" class=\"data row2 col34\" >9</td>\n",
       "      <td id=\"T_66dd7_row2_col35\" class=\"data row2 col35\" ></td>\n",
       "      <td id=\"T_66dd7_row2_col36\" class=\"data row2 col36\" >6</td>\n",
       "      <td id=\"T_66dd7_row2_col37\" class=\"data row2 col37\" >2</td>\n",
       "      <td id=\"T_66dd7_row2_col38\" class=\"data row2 col38\" ></td>\n",
       "      <td id=\"T_66dd7_row2_col39\" class=\"data row2 col39\" ></td>\n",
       "      <td id=\"T_66dd7_row2_col40\" class=\"data row2 col40\" ></td>\n",
       "      <td id=\"T_66dd7_row2_col41\" class=\"data row2 col41\" >1</td>\n",
       "      <td id=\"T_66dd7_row2_col42\" class=\"data row2 col42\" ></td>\n",
       "      <td id=\"T_66dd7_row2_col43\" class=\"data row2 col43\" >13</td>\n",
       "      <td id=\"T_66dd7_row2_col44\" class=\"data row2 col44\" ></td>\n",
       "      <td id=\"T_66dd7_row2_col45\" class=\"data row2 col45\" ></td>\n",
       "      <td id=\"T_66dd7_row2_col46\" class=\"data row2 col46\" >24</td>\n",
       "      <td id=\"T_66dd7_row2_col47\" class=\"data row2 col47\" >27</td>\n",
       "      <td id=\"T_66dd7_row2_col48\" class=\"data row2 col48\" ></td>\n",
       "      <td id=\"T_66dd7_row2_col49\" class=\"data row2 col49\" ></td>\n",
       "      <td id=\"T_66dd7_row2_col50\" class=\"data row2 col50\" ></td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th id=\"T_66dd7_level0_row3\" class=\"row_heading level0 row3\" >Bug</th>\n",
       "      <td id=\"T_66dd7_row3_col0\" class=\"data row3 col0\" >19</td>\n",
       "      <td id=\"T_66dd7_row3_col1\" class=\"data row3 col1\" ></td>\n",
       "      <td id=\"T_66dd7_row3_col2\" class=\"data row3 col2\" ></td>\n",
       "      <td id=\"T_66dd7_row3_col3\" class=\"data row3 col3\" ></td>\n",
       "      <td id=\"T_66dd7_row3_col4\" class=\"data row3 col4\" ></td>\n",
       "      <td id=\"T_66dd7_row3_col5\" class=\"data row3 col5\" ></td>\n",
       "      <td id=\"T_66dd7_row3_col6\" class=\"data row3 col6\" >1</td>\n",
       "      <td id=\"T_66dd7_row3_col7\" class=\"data row3 col7\" ></td>\n",
       "      <td id=\"T_66dd7_row3_col8\" class=\"data row3 col8\" ></td>\n",
       "      <td id=\"T_66dd7_row3_col9\" class=\"data row3 col9\" ></td>\n",
       "      <td id=\"T_66dd7_row3_col10\" class=\"data row3 col10\" ></td>\n",
       "      <td id=\"T_66dd7_row3_col11\" class=\"data row3 col11\" ></td>\n",
       "      <td id=\"T_66dd7_row3_col12\" class=\"data row3 col12\" >1</td>\n",
       "      <td id=\"T_66dd7_row3_col13\" class=\"data row3 col13\" ></td>\n",
       "      <td id=\"T_66dd7_row3_col14\" class=\"data row3 col14\" ></td>\n",
       "      <td id=\"T_66dd7_row3_col15\" class=\"data row3 col15\" ></td>\n",
       "      <td id=\"T_66dd7_row3_col16\" class=\"data row3 col16\" ></td>\n",
       "      <td id=\"T_66dd7_row3_col17\" class=\"data row3 col17\" ></td>\n",
       "      <td id=\"T_66dd7_row3_col18\" class=\"data row3 col18\" ></td>\n",
       "      <td id=\"T_66dd7_row3_col19\" class=\"data row3 col19\" ></td>\n",
       "      <td id=\"T_66dd7_row3_col20\" class=\"data row3 col20\" ></td>\n",
       "      <td id=\"T_66dd7_row3_col21\" class=\"data row3 col21\" ></td>\n",
       "      <td id=\"T_66dd7_row3_col22\" class=\"data row3 col22\" ></td>\n",
       "      <td id=\"T_66dd7_row3_col23\" class=\"data row3 col23\" ></td>\n",
       "      <td id=\"T_66dd7_row3_col24\" class=\"data row3 col24\" >1</td>\n",
       "      <td id=\"T_66dd7_row3_col25\" class=\"data row3 col25\" ></td>\n",
       "      <td id=\"T_66dd7_row3_col26\" class=\"data row3 col26\" ></td>\n",
       "      <td id=\"T_66dd7_row3_col27\" class=\"data row3 col27\" ></td>\n",
       "      <td id=\"T_66dd7_row3_col28\" class=\"data row3 col28\" ></td>\n",
       "      <td id=\"T_66dd7_row3_col29\" class=\"data row3 col29\" ></td>\n",
       "      <td id=\"T_66dd7_row3_col30\" class=\"data row3 col30\" ></td>\n",
       "      <td id=\"T_66dd7_row3_col31\" class=\"data row3 col31\" ></td>\n",
       "      <td id=\"T_66dd7_row3_col32\" class=\"data row3 col32\" ></td>\n",
       "      <td id=\"T_66dd7_row3_col33\" class=\"data row3 col33\" >3</td>\n",
       "      <td id=\"T_66dd7_row3_col34\" class=\"data row3 col34\" ></td>\n",
       "      <td id=\"T_66dd7_row3_col35\" class=\"data row3 col35\" ></td>\n",
       "      <td id=\"T_66dd7_row3_col36\" class=\"data row3 col36\" ></td>\n",
       "      <td id=\"T_66dd7_row3_col37\" class=\"data row3 col37\" ></td>\n",
       "      <td id=\"T_66dd7_row3_col38\" class=\"data row3 col38\" ></td>\n",
       "      <td id=\"T_66dd7_row3_col39\" class=\"data row3 col39\" ></td>\n",
       "      <td id=\"T_66dd7_row3_col40\" class=\"data row3 col40\" ></td>\n",
       "      <td id=\"T_66dd7_row3_col41\" class=\"data row3 col41\" ></td>\n",
       "      <td id=\"T_66dd7_row3_col42\" class=\"data row3 col42\" >4</td>\n",
       "      <td id=\"T_66dd7_row3_col43\" class=\"data row3 col43\" ></td>\n",
       "      <td id=\"T_66dd7_row3_col44\" class=\"data row3 col44\" ></td>\n",
       "      <td id=\"T_66dd7_row3_col45\" class=\"data row3 col45\" ></td>\n",
       "      <td id=\"T_66dd7_row3_col46\" class=\"data row3 col46\" >1</td>\n",
       "      <td id=\"T_66dd7_row3_col47\" class=\"data row3 col47\" ></td>\n",
       "      <td id=\"T_66dd7_row3_col48\" class=\"data row3 col48\" >8</td>\n",
       "      <td id=\"T_66dd7_row3_col49\" class=\"data row3 col49\" ></td>\n",
       "      <td id=\"T_66dd7_row3_col50\" class=\"data row3 col50\" ></td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th id=\"T_66dd7_level0_row4\" class=\"row_heading level0 row4\" >Incompatible parameters</th>\n",
       "      <td id=\"T_66dd7_row4_col0\" class=\"data row4 col0\" >118</td>\n",
       "      <td id=\"T_66dd7_row4_col1\" class=\"data row4 col1\" ></td>\n",
       "      <td id=\"T_66dd7_row4_col2\" class=\"data row4 col2\" ></td>\n",
       "      <td id=\"T_66dd7_row4_col3\" class=\"data row4 col3\" ></td>\n",
       "      <td id=\"T_66dd7_row4_col4\" class=\"data row4 col4\" ></td>\n",
       "      <td id=\"T_66dd7_row4_col5\" class=\"data row4 col5\" ></td>\n",
       "      <td id=\"T_66dd7_row4_col6\" class=\"data row4 col6\" ></td>\n",
       "      <td id=\"T_66dd7_row4_col7\" class=\"data row4 col7\" ></td>\n",
       "      <td id=\"T_66dd7_row4_col8\" class=\"data row4 col8\" ></td>\n",
       "      <td id=\"T_66dd7_row4_col9\" class=\"data row4 col9\" ></td>\n",
       "      <td id=\"T_66dd7_row4_col10\" class=\"data row4 col10\" ></td>\n",
       "      <td id=\"T_66dd7_row4_col11\" class=\"data row4 col11\" ></td>\n",
       "      <td id=\"T_66dd7_row4_col12\" class=\"data row4 col12\" ></td>\n",
       "      <td id=\"T_66dd7_row4_col13\" class=\"data row4 col13\" ></td>\n",
       "      <td id=\"T_66dd7_row4_col14\" class=\"data row4 col14\" ></td>\n",
       "      <td id=\"T_66dd7_row4_col15\" class=\"data row4 col15\" ></td>\n",
       "      <td id=\"T_66dd7_row4_col16\" class=\"data row4 col16\" ></td>\n",
       "      <td id=\"T_66dd7_row4_col17\" class=\"data row4 col17\" ></td>\n",
       "      <td id=\"T_66dd7_row4_col18\" class=\"data row4 col18\" ></td>\n",
       "      <td id=\"T_66dd7_row4_col19\" class=\"data row4 col19\" >4</td>\n",
       "      <td id=\"T_66dd7_row4_col20\" class=\"data row4 col20\" ></td>\n",
       "      <td id=\"T_66dd7_row4_col21\" class=\"data row4 col21\" ></td>\n",
       "      <td id=\"T_66dd7_row4_col22\" class=\"data row4 col22\" ></td>\n",
       "      <td id=\"T_66dd7_row4_col23\" class=\"data row4 col23\" ></td>\n",
       "      <td id=\"T_66dd7_row4_col24\" class=\"data row4 col24\" ></td>\n",
       "      <td id=\"T_66dd7_row4_col25\" class=\"data row4 col25\" ></td>\n",
       "      <td id=\"T_66dd7_row4_col26\" class=\"data row4 col26\" ></td>\n",
       "      <td id=\"T_66dd7_row4_col27\" class=\"data row4 col27\" ></td>\n",
       "      <td id=\"T_66dd7_row4_col28\" class=\"data row4 col28\" ></td>\n",
       "      <td id=\"T_66dd7_row4_col29\" class=\"data row4 col29\" ></td>\n",
       "      <td id=\"T_66dd7_row4_col30\" class=\"data row4 col30\" ></td>\n",
       "      <td id=\"T_66dd7_row4_col31\" class=\"data row4 col31\" ></td>\n",
       "      <td id=\"T_66dd7_row4_col32\" class=\"data row4 col32\" >114</td>\n",
       "      <td id=\"T_66dd7_row4_col33\" class=\"data row4 col33\" ></td>\n",
       "      <td id=\"T_66dd7_row4_col34\" class=\"data row4 col34\" ></td>\n",
       "      <td id=\"T_66dd7_row4_col35\" class=\"data row4 col35\" ></td>\n",
       "      <td id=\"T_66dd7_row4_col36\" class=\"data row4 col36\" ></td>\n",
       "      <td id=\"T_66dd7_row4_col37\" class=\"data row4 col37\" ></td>\n",
       "      <td id=\"T_66dd7_row4_col38\" class=\"data row4 col38\" ></td>\n",
       "      <td id=\"T_66dd7_row4_col39\" class=\"data row4 col39\" ></td>\n",
       "      <td id=\"T_66dd7_row4_col40\" class=\"data row4 col40\" ></td>\n",
       "      <td id=\"T_66dd7_row4_col41\" class=\"data row4 col41\" ></td>\n",
       "      <td id=\"T_66dd7_row4_col42\" class=\"data row4 col42\" ></td>\n",
       "      <td id=\"T_66dd7_row4_col43\" class=\"data row4 col43\" ></td>\n",
       "      <td id=\"T_66dd7_row4_col44\" class=\"data row4 col44\" ></td>\n",
       "      <td id=\"T_66dd7_row4_col45\" class=\"data row4 col45\" ></td>\n",
       "      <td id=\"T_66dd7_row4_col46\" class=\"data row4 col46\" ></td>\n",
       "      <td id=\"T_66dd7_row4_col47\" class=\"data row4 col47\" ></td>\n",
       "      <td id=\"T_66dd7_row4_col48\" class=\"data row4 col48\" ></td>\n",
       "      <td id=\"T_66dd7_row4_col49\" class=\"data row4 col49\" ></td>\n",
       "      <td id=\"T_66dd7_row4_col50\" class=\"data row4 col50\" ></td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th id=\"T_66dd7_level0_row5\" class=\"row_heading level0 row5\" >Invariance/assumption not met</th>\n",
       "      <td id=\"T_66dd7_row5_col0\" class=\"data row5 col0\" >37</td>\n",
       "      <td id=\"T_66dd7_row5_col1\" class=\"data row5 col1\" >1</td>\n",
       "      <td id=\"T_66dd7_row5_col2\" class=\"data row5 col2\" >1</td>\n",
       "      <td id=\"T_66dd7_row5_col3\" class=\"data row5 col3\" >1</td>\n",
       "      <td id=\"T_66dd7_row5_col4\" class=\"data row5 col4\" ></td>\n",
       "      <td id=\"T_66dd7_row5_col5\" class=\"data row5 col5\" ></td>\n",
       "      <td id=\"T_66dd7_row5_col6\" class=\"data row5 col6\" ></td>\n",
       "      <td id=\"T_66dd7_row5_col7\" class=\"data row5 col7\" ></td>\n",
       "      <td id=\"T_66dd7_row5_col8\" class=\"data row5 col8\" ></td>\n",
       "      <td id=\"T_66dd7_row5_col9\" class=\"data row5 col9\" >1</td>\n",
       "      <td id=\"T_66dd7_row5_col10\" class=\"data row5 col10\" ></td>\n",
       "      <td id=\"T_66dd7_row5_col11\" class=\"data row5 col11\" ></td>\n",
       "      <td id=\"T_66dd7_row5_col12\" class=\"data row5 col12\" ></td>\n",
       "      <td id=\"T_66dd7_row5_col13\" class=\"data row5 col13\" ></td>\n",
       "      <td id=\"T_66dd7_row5_col14\" class=\"data row5 col14\" >1</td>\n",
       "      <td id=\"T_66dd7_row5_col15\" class=\"data row5 col15\" >1</td>\n",
       "      <td id=\"T_66dd7_row5_col16\" class=\"data row5 col16\" >1</td>\n",
       "      <td id=\"T_66dd7_row5_col17\" class=\"data row5 col17\" ></td>\n",
       "      <td id=\"T_66dd7_row5_col18\" class=\"data row5 col18\" ></td>\n",
       "      <td id=\"T_66dd7_row5_col19\" class=\"data row5 col19\" >10</td>\n",
       "      <td id=\"T_66dd7_row5_col20\" class=\"data row5 col20\" ></td>\n",
       "      <td id=\"T_66dd7_row5_col21\" class=\"data row5 col21\" ></td>\n",
       "      <td id=\"T_66dd7_row5_col22\" class=\"data row5 col22\" ></td>\n",
       "      <td id=\"T_66dd7_row5_col23\" class=\"data row5 col23\" ></td>\n",
       "      <td id=\"T_66dd7_row5_col24\" class=\"data row5 col24\" ></td>\n",
       "      <td id=\"T_66dd7_row5_col25\" class=\"data row5 col25\" ></td>\n",
       "      <td id=\"T_66dd7_row5_col26\" class=\"data row5 col26\" >1</td>\n",
       "      <td id=\"T_66dd7_row5_col27\" class=\"data row5 col27\" ></td>\n",
       "      <td id=\"T_66dd7_row5_col28\" class=\"data row5 col28\" ></td>\n",
       "      <td id=\"T_66dd7_row5_col29\" class=\"data row5 col29\" ></td>\n",
       "      <td id=\"T_66dd7_row5_col30\" class=\"data row5 col30\" ></td>\n",
       "      <td id=\"T_66dd7_row5_col31\" class=\"data row5 col31\" ></td>\n",
       "      <td id=\"T_66dd7_row5_col32\" class=\"data row5 col32\" ></td>\n",
       "      <td id=\"T_66dd7_row5_col33\" class=\"data row5 col33\" ></td>\n",
       "      <td id=\"T_66dd7_row5_col34\" class=\"data row5 col34\" >1</td>\n",
       "      <td id=\"T_66dd7_row5_col35\" class=\"data row5 col35\" ></td>\n",
       "      <td id=\"T_66dd7_row5_col36\" class=\"data row5 col36\" ></td>\n",
       "      <td id=\"T_66dd7_row5_col37\" class=\"data row5 col37\" ></td>\n",
       "      <td id=\"T_66dd7_row5_col38\" class=\"data row5 col38\" ></td>\n",
       "      <td id=\"T_66dd7_row5_col39\" class=\"data row5 col39\" ></td>\n",
       "      <td id=\"T_66dd7_row5_col40\" class=\"data row5 col40\" ></td>\n",
       "      <td id=\"T_66dd7_row5_col41\" class=\"data row5 col41\" ></td>\n",
       "      <td id=\"T_66dd7_row5_col42\" class=\"data row5 col42\" ></td>\n",
       "      <td id=\"T_66dd7_row5_col43\" class=\"data row5 col43\" >1</td>\n",
       "      <td id=\"T_66dd7_row5_col44\" class=\"data row5 col44\" ></td>\n",
       "      <td id=\"T_66dd7_row5_col45\" class=\"data row5 col45\" ></td>\n",
       "      <td id=\"T_66dd7_row5_col46\" class=\"data row5 col46\" ></td>\n",
       "      <td id=\"T_66dd7_row5_col47\" class=\"data row5 col47\" >17</td>\n",
       "      <td id=\"T_66dd7_row5_col48\" class=\"data row5 col48\" ></td>\n",
       "      <td id=\"T_66dd7_row5_col49\" class=\"data row5 col49\" ></td>\n",
       "      <td id=\"T_66dd7_row5_col50\" class=\"data row5 col50\" ></td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th id=\"T_66dd7_level0_row6\" class=\"row_heading level0 row6\" >Max recursion depth exceeded</th>\n",
       "      <td id=\"T_66dd7_row6_col0\" class=\"data row6 col0\" >5</td>\n",
       "      <td id=\"T_66dd7_row6_col1\" class=\"data row6 col1\" ></td>\n",
       "      <td id=\"T_66dd7_row6_col2\" class=\"data row6 col2\" ></td>\n",
       "      <td id=\"T_66dd7_row6_col3\" class=\"data row6 col3\" ></td>\n",
       "      <td id=\"T_66dd7_row6_col4\" class=\"data row6 col4\" ></td>\n",
       "      <td id=\"T_66dd7_row6_col5\" class=\"data row6 col5\" ></td>\n",
       "      <td id=\"T_66dd7_row6_col6\" class=\"data row6 col6\" ></td>\n",
       "      <td id=\"T_66dd7_row6_col7\" class=\"data row6 col7\" ></td>\n",
       "      <td id=\"T_66dd7_row6_col8\" class=\"data row6 col8\" ></td>\n",
       "      <td id=\"T_66dd7_row6_col9\" class=\"data row6 col9\" ></td>\n",
       "      <td id=\"T_66dd7_row6_col10\" class=\"data row6 col10\" ></td>\n",
       "      <td id=\"T_66dd7_row6_col11\" class=\"data row6 col11\" ></td>\n",
       "      <td id=\"T_66dd7_row6_col12\" class=\"data row6 col12\" ></td>\n",
       "      <td id=\"T_66dd7_row6_col13\" class=\"data row6 col13\" ></td>\n",
       "      <td id=\"T_66dd7_row6_col14\" class=\"data row6 col14\" ></td>\n",
       "      <td id=\"T_66dd7_row6_col15\" class=\"data row6 col15\" ></td>\n",
       "      <td id=\"T_66dd7_row6_col16\" class=\"data row6 col16\" ></td>\n",
       "      <td id=\"T_66dd7_row6_col17\" class=\"data row6 col17\" ></td>\n",
       "      <td id=\"T_66dd7_row6_col18\" class=\"data row6 col18\" ></td>\n",
       "      <td id=\"T_66dd7_row6_col19\" class=\"data row6 col19\" ></td>\n",
       "      <td id=\"T_66dd7_row6_col20\" class=\"data row6 col20\" ></td>\n",
       "      <td id=\"T_66dd7_row6_col21\" class=\"data row6 col21\" ></td>\n",
       "      <td id=\"T_66dd7_row6_col22\" class=\"data row6 col22\" ></td>\n",
       "      <td id=\"T_66dd7_row6_col23\" class=\"data row6 col23\" ></td>\n",
       "      <td id=\"T_66dd7_row6_col24\" class=\"data row6 col24\" ></td>\n",
       "      <td id=\"T_66dd7_row6_col25\" class=\"data row6 col25\" ></td>\n",
       "      <td id=\"T_66dd7_row6_col26\" class=\"data row6 col26\" ></td>\n",
       "      <td id=\"T_66dd7_row6_col27\" class=\"data row6 col27\" ></td>\n",
       "      <td id=\"T_66dd7_row6_col28\" class=\"data row6 col28\" ></td>\n",
       "      <td id=\"T_66dd7_row6_col29\" class=\"data row6 col29\" ></td>\n",
       "      <td id=\"T_66dd7_row6_col30\" class=\"data row6 col30\" ></td>\n",
       "      <td id=\"T_66dd7_row6_col31\" class=\"data row6 col31\" ></td>\n",
       "      <td id=\"T_66dd7_row6_col32\" class=\"data row6 col32\" ></td>\n",
       "      <td id=\"T_66dd7_row6_col33\" class=\"data row6 col33\" ></td>\n",
       "      <td id=\"T_66dd7_row6_col34\" class=\"data row6 col34\" ></td>\n",
       "      <td id=\"T_66dd7_row6_col35\" class=\"data row6 col35\" ></td>\n",
       "      <td id=\"T_66dd7_row6_col36\" class=\"data row6 col36\" ></td>\n",
       "      <td id=\"T_66dd7_row6_col37\" class=\"data row6 col37\" ></td>\n",
       "      <td id=\"T_66dd7_row6_col38\" class=\"data row6 col38\" ></td>\n",
       "      <td id=\"T_66dd7_row6_col39\" class=\"data row6 col39\" ></td>\n",
       "      <td id=\"T_66dd7_row6_col40\" class=\"data row6 col40\" ></td>\n",
       "      <td id=\"T_66dd7_row6_col41\" class=\"data row6 col41\" ></td>\n",
       "      <td id=\"T_66dd7_row6_col42\" class=\"data row6 col42\" >5</td>\n",
       "      <td id=\"T_66dd7_row6_col43\" class=\"data row6 col43\" ></td>\n",
       "      <td id=\"T_66dd7_row6_col44\" class=\"data row6 col44\" ></td>\n",
       "      <td id=\"T_66dd7_row6_col45\" class=\"data row6 col45\" ></td>\n",
       "      <td id=\"T_66dd7_row6_col46\" class=\"data row6 col46\" ></td>\n",
       "      <td id=\"T_66dd7_row6_col47\" class=\"data row6 col47\" ></td>\n",
       "      <td id=\"T_66dd7_row6_col48\" class=\"data row6 col48\" ></td>\n",
       "      <td id=\"T_66dd7_row6_col49\" class=\"data row6 col49\" ></td>\n",
       "      <td id=\"T_66dd7_row6_col50\" class=\"data row6 col50\" ></td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th id=\"T_66dd7_level0_row7\" class=\"row_heading level0 row7\" >Not converged</th>\n",
       "      <td id=\"T_66dd7_row7_col0\" class=\"data row7 col0\" >2</td>\n",
       "      <td id=\"T_66dd7_row7_col1\" class=\"data row7 col1\" ></td>\n",
       "      <td id=\"T_66dd7_row7_col2\" class=\"data row7 col2\" ></td>\n",
       "      <td id=\"T_66dd7_row7_col3\" class=\"data row7 col3\" ></td>\n",
       "      <td id=\"T_66dd7_row7_col4\" class=\"data row7 col4\" ></td>\n",
       "      <td id=\"T_66dd7_row7_col5\" class=\"data row7 col5\" ></td>\n",
       "      <td id=\"T_66dd7_row7_col6\" class=\"data row7 col6\" ></td>\n",
       "      <td id=\"T_66dd7_row7_col7\" class=\"data row7 col7\" ></td>\n",
       "      <td id=\"T_66dd7_row7_col8\" class=\"data row7 col8\" ></td>\n",
       "      <td id=\"T_66dd7_row7_col9\" class=\"data row7 col9\" ></td>\n",
       "      <td id=\"T_66dd7_row7_col10\" class=\"data row7 col10\" ></td>\n",
       "      <td id=\"T_66dd7_row7_col11\" class=\"data row7 col11\" ></td>\n",
       "      <td id=\"T_66dd7_row7_col12\" class=\"data row7 col12\" ></td>\n",
       "      <td id=\"T_66dd7_row7_col13\" class=\"data row7 col13\" ></td>\n",
       "      <td id=\"T_66dd7_row7_col14\" class=\"data row7 col14\" ></td>\n",
       "      <td id=\"T_66dd7_row7_col15\" class=\"data row7 col15\" ></td>\n",
       "      <td id=\"T_66dd7_row7_col16\" class=\"data row7 col16\" ></td>\n",
       "      <td id=\"T_66dd7_row7_col17\" class=\"data row7 col17\" ></td>\n",
       "      <td id=\"T_66dd7_row7_col18\" class=\"data row7 col18\" ></td>\n",
       "      <td id=\"T_66dd7_row7_col19\" class=\"data row7 col19\" ></td>\n",
       "      <td id=\"T_66dd7_row7_col20\" class=\"data row7 col20\" >2</td>\n",
       "      <td id=\"T_66dd7_row7_col21\" class=\"data row7 col21\" ></td>\n",
       "      <td id=\"T_66dd7_row7_col22\" class=\"data row7 col22\" ></td>\n",
       "      <td id=\"T_66dd7_row7_col23\" class=\"data row7 col23\" ></td>\n",
       "      <td id=\"T_66dd7_row7_col24\" class=\"data row7 col24\" ></td>\n",
       "      <td id=\"T_66dd7_row7_col25\" class=\"data row7 col25\" ></td>\n",
       "      <td id=\"T_66dd7_row7_col26\" class=\"data row7 col26\" ></td>\n",
       "      <td id=\"T_66dd7_row7_col27\" class=\"data row7 col27\" ></td>\n",
       "      <td id=\"T_66dd7_row7_col28\" class=\"data row7 col28\" ></td>\n",
       "      <td id=\"T_66dd7_row7_col29\" class=\"data row7 col29\" ></td>\n",
       "      <td id=\"T_66dd7_row7_col30\" class=\"data row7 col30\" ></td>\n",
       "      <td id=\"T_66dd7_row7_col31\" class=\"data row7 col31\" ></td>\n",
       "      <td id=\"T_66dd7_row7_col32\" class=\"data row7 col32\" ></td>\n",
       "      <td id=\"T_66dd7_row7_col33\" class=\"data row7 col33\" ></td>\n",
       "      <td id=\"T_66dd7_row7_col34\" class=\"data row7 col34\" ></td>\n",
       "      <td id=\"T_66dd7_row7_col35\" class=\"data row7 col35\" ></td>\n",
       "      <td id=\"T_66dd7_row7_col36\" class=\"data row7 col36\" ></td>\n",
       "      <td id=\"T_66dd7_row7_col37\" class=\"data row7 col37\" ></td>\n",
       "      <td id=\"T_66dd7_row7_col38\" class=\"data row7 col38\" ></td>\n",
       "      <td id=\"T_66dd7_row7_col39\" class=\"data row7 col39\" ></td>\n",
       "      <td id=\"T_66dd7_row7_col40\" class=\"data row7 col40\" ></td>\n",
       "      <td id=\"T_66dd7_row7_col41\" class=\"data row7 col41\" ></td>\n",
       "      <td id=\"T_66dd7_row7_col42\" class=\"data row7 col42\" ></td>\n",
       "      <td id=\"T_66dd7_row7_col43\" class=\"data row7 col43\" ></td>\n",
       "      <td id=\"T_66dd7_row7_col44\" class=\"data row7 col44\" ></td>\n",
       "      <td id=\"T_66dd7_row7_col45\" class=\"data row7 col45\" ></td>\n",
       "      <td id=\"T_66dd7_row7_col46\" class=\"data row7 col46\" ></td>\n",
       "      <td id=\"T_66dd7_row7_col47\" class=\"data row7 col47\" ></td>\n",
       "      <td id=\"T_66dd7_row7_col48\" class=\"data row7 col48\" ></td>\n",
       "      <td id=\"T_66dd7_row7_col49\" class=\"data row7 col49\" ></td>\n",
       "      <td id=\"T_66dd7_row7_col50\" class=\"data row7 col50\" ></td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th id=\"T_66dd7_level0_row8\" class=\"row_heading level0 row8\" >TimeEval:KilledWorker</th>\n",
       "      <td id=\"T_66dd7_row8_col0\" class=\"data row8 col0\" >1</td>\n",
       "      <td id=\"T_66dd7_row8_col1\" class=\"data row8 col1\" ></td>\n",
       "      <td id=\"T_66dd7_row8_col2\" class=\"data row8 col2\" ></td>\n",
       "      <td id=\"T_66dd7_row8_col3\" class=\"data row8 col3\" ></td>\n",
       "      <td id=\"T_66dd7_row8_col4\" class=\"data row8 col4\" ></td>\n",
       "      <td id=\"T_66dd7_row8_col5\" class=\"data row8 col5\" ></td>\n",
       "      <td id=\"T_66dd7_row8_col6\" class=\"data row8 col6\" ></td>\n",
       "      <td id=\"T_66dd7_row8_col7\" class=\"data row8 col7\" ></td>\n",
       "      <td id=\"T_66dd7_row8_col8\" class=\"data row8 col8\" ></td>\n",
       "      <td id=\"T_66dd7_row8_col9\" class=\"data row8 col9\" ></td>\n",
       "      <td id=\"T_66dd7_row8_col10\" class=\"data row8 col10\" ></td>\n",
       "      <td id=\"T_66dd7_row8_col11\" class=\"data row8 col11\" ></td>\n",
       "      <td id=\"T_66dd7_row8_col12\" class=\"data row8 col12\" ></td>\n",
       "      <td id=\"T_66dd7_row8_col13\" class=\"data row8 col13\" ></td>\n",
       "      <td id=\"T_66dd7_row8_col14\" class=\"data row8 col14\" ></td>\n",
       "      <td id=\"T_66dd7_row8_col15\" class=\"data row8 col15\" ></td>\n",
       "      <td id=\"T_66dd7_row8_col16\" class=\"data row8 col16\" ></td>\n",
       "      <td id=\"T_66dd7_row8_col17\" class=\"data row8 col17\" ></td>\n",
       "      <td id=\"T_66dd7_row8_col18\" class=\"data row8 col18\" ></td>\n",
       "      <td id=\"T_66dd7_row8_col19\" class=\"data row8 col19\" ></td>\n",
       "      <td id=\"T_66dd7_row8_col20\" class=\"data row8 col20\" ></td>\n",
       "      <td id=\"T_66dd7_row8_col21\" class=\"data row8 col21\" ></td>\n",
       "      <td id=\"T_66dd7_row8_col22\" class=\"data row8 col22\" ></td>\n",
       "      <td id=\"T_66dd7_row8_col23\" class=\"data row8 col23\" ></td>\n",
       "      <td id=\"T_66dd7_row8_col24\" class=\"data row8 col24\" ></td>\n",
       "      <td id=\"T_66dd7_row8_col25\" class=\"data row8 col25\" ></td>\n",
       "      <td id=\"T_66dd7_row8_col26\" class=\"data row8 col26\" ></td>\n",
       "      <td id=\"T_66dd7_row8_col27\" class=\"data row8 col27\" ></td>\n",
       "      <td id=\"T_66dd7_row8_col28\" class=\"data row8 col28\" ></td>\n",
       "      <td id=\"T_66dd7_row8_col29\" class=\"data row8 col29\" ></td>\n",
       "      <td id=\"T_66dd7_row8_col30\" class=\"data row8 col30\" ></td>\n",
       "      <td id=\"T_66dd7_row8_col31\" class=\"data row8 col31\" ></td>\n",
       "      <td id=\"T_66dd7_row8_col32\" class=\"data row8 col32\" ></td>\n",
       "      <td id=\"T_66dd7_row8_col33\" class=\"data row8 col33\" ></td>\n",
       "      <td id=\"T_66dd7_row8_col34\" class=\"data row8 col34\" ></td>\n",
       "      <td id=\"T_66dd7_row8_col35\" class=\"data row8 col35\" ></td>\n",
       "      <td id=\"T_66dd7_row8_col36\" class=\"data row8 col36\" ></td>\n",
       "      <td id=\"T_66dd7_row8_col37\" class=\"data row8 col37\" ></td>\n",
       "      <td id=\"T_66dd7_row8_col38\" class=\"data row8 col38\" ></td>\n",
       "      <td id=\"T_66dd7_row8_col39\" class=\"data row8 col39\" ></td>\n",
       "      <td id=\"T_66dd7_row8_col40\" class=\"data row8 col40\" ></td>\n",
       "      <td id=\"T_66dd7_row8_col41\" class=\"data row8 col41\" ></td>\n",
       "      <td id=\"T_66dd7_row8_col42\" class=\"data row8 col42\" ></td>\n",
       "      <td id=\"T_66dd7_row8_col43\" class=\"data row8 col43\" ></td>\n",
       "      <td id=\"T_66dd7_row8_col44\" class=\"data row8 col44\" ></td>\n",
       "      <td id=\"T_66dd7_row8_col45\" class=\"data row8 col45\" ></td>\n",
       "      <td id=\"T_66dd7_row8_col46\" class=\"data row8 col46\" ></td>\n",
       "      <td id=\"T_66dd7_row8_col47\" class=\"data row8 col47\" ></td>\n",
       "      <td id=\"T_66dd7_row8_col48\" class=\"data row8 col48\" ></td>\n",
       "      <td id=\"T_66dd7_row8_col49\" class=\"data row8 col49\" ></td>\n",
       "      <td id=\"T_66dd7_row8_col50\" class=\"data row8 col50\" >1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th id=\"T_66dd7_level0_row9\" class=\"row_heading level0 row9\" >TimeEval:ValueError</th>\n",
       "      <td id=\"T_66dd7_row9_col0\" class=\"data row9 col0\" >1</td>\n",
       "      <td id=\"T_66dd7_row9_col1\" class=\"data row9 col1\" ></td>\n",
       "      <td id=\"T_66dd7_row9_col2\" class=\"data row9 col2\" ></td>\n",
       "      <td id=\"T_66dd7_row9_col3\" class=\"data row9 col3\" ></td>\n",
       "      <td id=\"T_66dd7_row9_col4\" class=\"data row9 col4\" ></td>\n",
       "      <td id=\"T_66dd7_row9_col5\" class=\"data row9 col5\" ></td>\n",
       "      <td id=\"T_66dd7_row9_col6\" class=\"data row9 col6\" ></td>\n",
       "      <td id=\"T_66dd7_row9_col7\" class=\"data row9 col7\" ></td>\n",
       "      <td id=\"T_66dd7_row9_col8\" class=\"data row9 col8\" ></td>\n",
       "      <td id=\"T_66dd7_row9_col9\" class=\"data row9 col9\" ></td>\n",
       "      <td id=\"T_66dd7_row9_col10\" class=\"data row9 col10\" ></td>\n",
       "      <td id=\"T_66dd7_row9_col11\" class=\"data row9 col11\" ></td>\n",
       "      <td id=\"T_66dd7_row9_col12\" class=\"data row9 col12\" ></td>\n",
       "      <td id=\"T_66dd7_row9_col13\" class=\"data row9 col13\" ></td>\n",
       "      <td id=\"T_66dd7_row9_col14\" class=\"data row9 col14\" ></td>\n",
       "      <td id=\"T_66dd7_row9_col15\" class=\"data row9 col15\" ></td>\n",
       "      <td id=\"T_66dd7_row9_col16\" class=\"data row9 col16\" ></td>\n",
       "      <td id=\"T_66dd7_row9_col17\" class=\"data row9 col17\" ></td>\n",
       "      <td id=\"T_66dd7_row9_col18\" class=\"data row9 col18\" ></td>\n",
       "      <td id=\"T_66dd7_row9_col19\" class=\"data row9 col19\" ></td>\n",
       "      <td id=\"T_66dd7_row9_col20\" class=\"data row9 col20\" ></td>\n",
       "      <td id=\"T_66dd7_row9_col21\" class=\"data row9 col21\" ></td>\n",
       "      <td id=\"T_66dd7_row9_col22\" class=\"data row9 col22\" ></td>\n",
       "      <td id=\"T_66dd7_row9_col23\" class=\"data row9 col23\" ></td>\n",
       "      <td id=\"T_66dd7_row9_col24\" class=\"data row9 col24\" ></td>\n",
       "      <td id=\"T_66dd7_row9_col25\" class=\"data row9 col25\" ></td>\n",
       "      <td id=\"T_66dd7_row9_col26\" class=\"data row9 col26\" ></td>\n",
       "      <td id=\"T_66dd7_row9_col27\" class=\"data row9 col27\" ></td>\n",
       "      <td id=\"T_66dd7_row9_col28\" class=\"data row9 col28\" ></td>\n",
       "      <td id=\"T_66dd7_row9_col29\" class=\"data row9 col29\" ></td>\n",
       "      <td id=\"T_66dd7_row9_col30\" class=\"data row9 col30\" ></td>\n",
       "      <td id=\"T_66dd7_row9_col31\" class=\"data row9 col31\" ></td>\n",
       "      <td id=\"T_66dd7_row9_col32\" class=\"data row9 col32\" ></td>\n",
       "      <td id=\"T_66dd7_row9_col33\" class=\"data row9 col33\" ></td>\n",
       "      <td id=\"T_66dd7_row9_col34\" class=\"data row9 col34\" ></td>\n",
       "      <td id=\"T_66dd7_row9_col35\" class=\"data row9 col35\" ></td>\n",
       "      <td id=\"T_66dd7_row9_col36\" class=\"data row9 col36\" ></td>\n",
       "      <td id=\"T_66dd7_row9_col37\" class=\"data row9 col37\" ></td>\n",
       "      <td id=\"T_66dd7_row9_col38\" class=\"data row9 col38\" ></td>\n",
       "      <td id=\"T_66dd7_row9_col39\" class=\"data row9 col39\" ></td>\n",
       "      <td id=\"T_66dd7_row9_col40\" class=\"data row9 col40\" ></td>\n",
       "      <td id=\"T_66dd7_row9_col41\" class=\"data row9 col41\" ></td>\n",
       "      <td id=\"T_66dd7_row9_col42\" class=\"data row9 col42\" ></td>\n",
       "      <td id=\"T_66dd7_row9_col43\" class=\"data row9 col43\" ></td>\n",
       "      <td id=\"T_66dd7_row9_col44\" class=\"data row9 col44\" ></td>\n",
       "      <td id=\"T_66dd7_row9_col45\" class=\"data row9 col45\" ></td>\n",
       "      <td id=\"T_66dd7_row9_col46\" class=\"data row9 col46\" ></td>\n",
       "      <td id=\"T_66dd7_row9_col47\" class=\"data row9 col47\" ></td>\n",
       "      <td id=\"T_66dd7_row9_col48\" class=\"data row9 col48\" ></td>\n",
       "      <td id=\"T_66dd7_row9_col49\" class=\"data row9 col49\" ></td>\n",
       "      <td id=\"T_66dd7_row9_col50\" class=\"data row9 col50\" >1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th id=\"T_66dd7_level0_row10\" class=\"row_heading level0 row10\" >Wrong shape error</th>\n",
       "      <td id=\"T_66dd7_row10_col0\" class=\"data row10 col0\" >1</td>\n",
       "      <td id=\"T_66dd7_row10_col1\" class=\"data row10 col1\" ></td>\n",
       "      <td id=\"T_66dd7_row10_col2\" class=\"data row10 col2\" ></td>\n",
       "      <td id=\"T_66dd7_row10_col3\" class=\"data row10 col3\" ></td>\n",
       "      <td id=\"T_66dd7_row10_col4\" class=\"data row10 col4\" ></td>\n",
       "      <td id=\"T_66dd7_row10_col5\" class=\"data row10 col5\" ></td>\n",
       "      <td id=\"T_66dd7_row10_col6\" class=\"data row10 col6\" ></td>\n",
       "      <td id=\"T_66dd7_row10_col7\" class=\"data row10 col7\" ></td>\n",
       "      <td id=\"T_66dd7_row10_col8\" class=\"data row10 col8\" ></td>\n",
       "      <td id=\"T_66dd7_row10_col9\" class=\"data row10 col9\" ></td>\n",
       "      <td id=\"T_66dd7_row10_col10\" class=\"data row10 col10\" ></td>\n",
       "      <td id=\"T_66dd7_row10_col11\" class=\"data row10 col11\" ></td>\n",
       "      <td id=\"T_66dd7_row10_col12\" class=\"data row10 col12\" ></td>\n",
       "      <td id=\"T_66dd7_row10_col13\" class=\"data row10 col13\" ></td>\n",
       "      <td id=\"T_66dd7_row10_col14\" class=\"data row10 col14\" ></td>\n",
       "      <td id=\"T_66dd7_row10_col15\" class=\"data row10 col15\" ></td>\n",
       "      <td id=\"T_66dd7_row10_col16\" class=\"data row10 col16\" ></td>\n",
       "      <td id=\"T_66dd7_row10_col17\" class=\"data row10 col17\" ></td>\n",
       "      <td id=\"T_66dd7_row10_col18\" class=\"data row10 col18\" ></td>\n",
       "      <td id=\"T_66dd7_row10_col19\" class=\"data row10 col19\" ></td>\n",
       "      <td id=\"T_66dd7_row10_col20\" class=\"data row10 col20\" ></td>\n",
       "      <td id=\"T_66dd7_row10_col21\" class=\"data row10 col21\" ></td>\n",
       "      <td id=\"T_66dd7_row10_col22\" class=\"data row10 col22\" ></td>\n",
       "      <td id=\"T_66dd7_row10_col23\" class=\"data row10 col23\" ></td>\n",
       "      <td id=\"T_66dd7_row10_col24\" class=\"data row10 col24\" ></td>\n",
       "      <td id=\"T_66dd7_row10_col25\" class=\"data row10 col25\" ></td>\n",
       "      <td id=\"T_66dd7_row10_col26\" class=\"data row10 col26\" ></td>\n",
       "      <td id=\"T_66dd7_row10_col27\" class=\"data row10 col27\" ></td>\n",
       "      <td id=\"T_66dd7_row10_col28\" class=\"data row10 col28\" ></td>\n",
       "      <td id=\"T_66dd7_row10_col29\" class=\"data row10 col29\" ></td>\n",
       "      <td id=\"T_66dd7_row10_col30\" class=\"data row10 col30\" ></td>\n",
       "      <td id=\"T_66dd7_row10_col31\" class=\"data row10 col31\" ></td>\n",
       "      <td id=\"T_66dd7_row10_col32\" class=\"data row10 col32\" ></td>\n",
       "      <td id=\"T_66dd7_row10_col33\" class=\"data row10 col33\" >1</td>\n",
       "      <td id=\"T_66dd7_row10_col34\" class=\"data row10 col34\" ></td>\n",
       "      <td id=\"T_66dd7_row10_col35\" class=\"data row10 col35\" ></td>\n",
       "      <td id=\"T_66dd7_row10_col36\" class=\"data row10 col36\" ></td>\n",
       "      <td id=\"T_66dd7_row10_col37\" class=\"data row10 col37\" ></td>\n",
       "      <td id=\"T_66dd7_row10_col38\" class=\"data row10 col38\" ></td>\n",
       "      <td id=\"T_66dd7_row10_col39\" class=\"data row10 col39\" ></td>\n",
       "      <td id=\"T_66dd7_row10_col40\" class=\"data row10 col40\" ></td>\n",
       "      <td id=\"T_66dd7_row10_col41\" class=\"data row10 col41\" ></td>\n",
       "      <td id=\"T_66dd7_row10_col42\" class=\"data row10 col42\" ></td>\n",
       "      <td id=\"T_66dd7_row10_col43\" class=\"data row10 col43\" ></td>\n",
       "      <td id=\"T_66dd7_row10_col44\" class=\"data row10 col44\" ></td>\n",
       "      <td id=\"T_66dd7_row10_col45\" class=\"data row10 col45\" ></td>\n",
       "      <td id=\"T_66dd7_row10_col46\" class=\"data row10 col46\" ></td>\n",
       "      <td id=\"T_66dd7_row10_col47\" class=\"data row10 col47\" ></td>\n",
       "      <td id=\"T_66dd7_row10_col48\" class=\"data row10 col48\" ></td>\n",
       "      <td id=\"T_66dd7_row10_col49\" class=\"data row10 col49\" ></td>\n",
       "      <td id=\"T_66dd7_row10_col50\" class=\"data row10 col50\" ></td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th id=\"T_66dd7_level0_row11\" class=\"row_heading level0 row11\" >other</th>\n",
       "      <td id=\"T_66dd7_row11_col0\" class=\"data row11 col0\" >1</td>\n",
       "      <td id=\"T_66dd7_row11_col1\" class=\"data row11 col1\" ></td>\n",
       "      <td id=\"T_66dd7_row11_col2\" class=\"data row11 col2\" ></td>\n",
       "      <td id=\"T_66dd7_row11_col3\" class=\"data row11 col3\" ></td>\n",
       "      <td id=\"T_66dd7_row11_col4\" class=\"data row11 col4\" >1</td>\n",
       "      <td id=\"T_66dd7_row11_col5\" class=\"data row11 col5\" ></td>\n",
       "      <td id=\"T_66dd7_row11_col6\" class=\"data row11 col6\" ></td>\n",
       "      <td id=\"T_66dd7_row11_col7\" class=\"data row11 col7\" ></td>\n",
       "      <td id=\"T_66dd7_row11_col8\" class=\"data row11 col8\" ></td>\n",
       "      <td id=\"T_66dd7_row11_col9\" class=\"data row11 col9\" ></td>\n",
       "      <td id=\"T_66dd7_row11_col10\" class=\"data row11 col10\" ></td>\n",
       "      <td id=\"T_66dd7_row11_col11\" class=\"data row11 col11\" ></td>\n",
       "      <td id=\"T_66dd7_row11_col12\" class=\"data row11 col12\" ></td>\n",
       "      <td id=\"T_66dd7_row11_col13\" class=\"data row11 col13\" ></td>\n",
       "      <td id=\"T_66dd7_row11_col14\" class=\"data row11 col14\" ></td>\n",
       "      <td id=\"T_66dd7_row11_col15\" class=\"data row11 col15\" ></td>\n",
       "      <td id=\"T_66dd7_row11_col16\" class=\"data row11 col16\" ></td>\n",
       "      <td id=\"T_66dd7_row11_col17\" class=\"data row11 col17\" ></td>\n",
       "      <td id=\"T_66dd7_row11_col18\" class=\"data row11 col18\" ></td>\n",
       "      <td id=\"T_66dd7_row11_col19\" class=\"data row11 col19\" ></td>\n",
       "      <td id=\"T_66dd7_row11_col20\" class=\"data row11 col20\" ></td>\n",
       "      <td id=\"T_66dd7_row11_col21\" class=\"data row11 col21\" ></td>\n",
       "      <td id=\"T_66dd7_row11_col22\" class=\"data row11 col22\" ></td>\n",
       "      <td id=\"T_66dd7_row11_col23\" class=\"data row11 col23\" ></td>\n",
       "      <td id=\"T_66dd7_row11_col24\" class=\"data row11 col24\" ></td>\n",
       "      <td id=\"T_66dd7_row11_col25\" class=\"data row11 col25\" ></td>\n",
       "      <td id=\"T_66dd7_row11_col26\" class=\"data row11 col26\" ></td>\n",
       "      <td id=\"T_66dd7_row11_col27\" class=\"data row11 col27\" ></td>\n",
       "      <td id=\"T_66dd7_row11_col28\" class=\"data row11 col28\" ></td>\n",
       "      <td id=\"T_66dd7_row11_col29\" class=\"data row11 col29\" ></td>\n",
       "      <td id=\"T_66dd7_row11_col30\" class=\"data row11 col30\" ></td>\n",
       "      <td id=\"T_66dd7_row11_col31\" class=\"data row11 col31\" ></td>\n",
       "      <td id=\"T_66dd7_row11_col32\" class=\"data row11 col32\" ></td>\n",
       "      <td id=\"T_66dd7_row11_col33\" class=\"data row11 col33\" ></td>\n",
       "      <td id=\"T_66dd7_row11_col34\" class=\"data row11 col34\" ></td>\n",
       "      <td id=\"T_66dd7_row11_col35\" class=\"data row11 col35\" ></td>\n",
       "      <td id=\"T_66dd7_row11_col36\" class=\"data row11 col36\" ></td>\n",
       "      <td id=\"T_66dd7_row11_col37\" class=\"data row11 col37\" ></td>\n",
       "      <td id=\"T_66dd7_row11_col38\" class=\"data row11 col38\" ></td>\n",
       "      <td id=\"T_66dd7_row11_col39\" class=\"data row11 col39\" ></td>\n",
       "      <td id=\"T_66dd7_row11_col40\" class=\"data row11 col40\" ></td>\n",
       "      <td id=\"T_66dd7_row11_col41\" class=\"data row11 col41\" ></td>\n",
       "      <td id=\"T_66dd7_row11_col42\" class=\"data row11 col42\" ></td>\n",
       "      <td id=\"T_66dd7_row11_col43\" class=\"data row11 col43\" ></td>\n",
       "      <td id=\"T_66dd7_row11_col44\" class=\"data row11 col44\" ></td>\n",
       "      <td id=\"T_66dd7_row11_col45\" class=\"data row11 col45\" ></td>\n",
       "      <td id=\"T_66dd7_row11_col46\" class=\"data row11 col46\" ></td>\n",
       "      <td id=\"T_66dd7_row11_col47\" class=\"data row11 col47\" ></td>\n",
       "      <td id=\"T_66dd7_row11_col48\" class=\"data row11 col48\" ></td>\n",
       "      <td id=\"T_66dd7_row11_col49\" class=\"data row11 col49\" ></td>\n",
       "      <td id=\"T_66dd7_row11_col50\" class=\"data row11 col50\" ></td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th id=\"T_66dd7_level0_row12\" class=\"row_heading level0 row12\" >unexpected Inf or NaN</th>\n",
       "      <td id=\"T_66dd7_row12_col0\" class=\"data row12 col0\" >2</td>\n",
       "      <td id=\"T_66dd7_row12_col1\" class=\"data row12 col1\" ></td>\n",
       "      <td id=\"T_66dd7_row12_col2\" class=\"data row12 col2\" ></td>\n",
       "      <td id=\"T_66dd7_row12_col3\" class=\"data row12 col3\" ></td>\n",
       "      <td id=\"T_66dd7_row12_col4\" class=\"data row12 col4\" ></td>\n",
       "      <td id=\"T_66dd7_row12_col5\" class=\"data row12 col5\" ></td>\n",
       "      <td id=\"T_66dd7_row12_col6\" class=\"data row12 col6\" ></td>\n",
       "      <td id=\"T_66dd7_row12_col7\" class=\"data row12 col7\" ></td>\n",
       "      <td id=\"T_66dd7_row12_col8\" class=\"data row12 col8\" ></td>\n",
       "      <td id=\"T_66dd7_row12_col9\" class=\"data row12 col9\" ></td>\n",
       "      <td id=\"T_66dd7_row12_col10\" class=\"data row12 col10\" ></td>\n",
       "      <td id=\"T_66dd7_row12_col11\" class=\"data row12 col11\" ></td>\n",
       "      <td id=\"T_66dd7_row12_col12\" class=\"data row12 col12\" ></td>\n",
       "      <td id=\"T_66dd7_row12_col13\" class=\"data row12 col13\" ></td>\n",
       "      <td id=\"T_66dd7_row12_col14\" class=\"data row12 col14\" ></td>\n",
       "      <td id=\"T_66dd7_row12_col15\" class=\"data row12 col15\" ></td>\n",
       "      <td id=\"T_66dd7_row12_col16\" class=\"data row12 col16\" ></td>\n",
       "      <td id=\"T_66dd7_row12_col17\" class=\"data row12 col17\" ></td>\n",
       "      <td id=\"T_66dd7_row12_col18\" class=\"data row12 col18\" ></td>\n",
       "      <td id=\"T_66dd7_row12_col19\" class=\"data row12 col19\" ></td>\n",
       "      <td id=\"T_66dd7_row12_col20\" class=\"data row12 col20\" ></td>\n",
       "      <td id=\"T_66dd7_row12_col21\" class=\"data row12 col21\" ></td>\n",
       "      <td id=\"T_66dd7_row12_col22\" class=\"data row12 col22\" ></td>\n",
       "      <td id=\"T_66dd7_row12_col23\" class=\"data row12 col23\" ></td>\n",
       "      <td id=\"T_66dd7_row12_col24\" class=\"data row12 col24\" ></td>\n",
       "      <td id=\"T_66dd7_row12_col25\" class=\"data row12 col25\" ></td>\n",
       "      <td id=\"T_66dd7_row12_col26\" class=\"data row12 col26\" >1</td>\n",
       "      <td id=\"T_66dd7_row12_col27\" class=\"data row12 col27\" ></td>\n",
       "      <td id=\"T_66dd7_row12_col28\" class=\"data row12 col28\" ></td>\n",
       "      <td id=\"T_66dd7_row12_col29\" class=\"data row12 col29\" ></td>\n",
       "      <td id=\"T_66dd7_row12_col30\" class=\"data row12 col30\" ></td>\n",
       "      <td id=\"T_66dd7_row12_col31\" class=\"data row12 col31\" ></td>\n",
       "      <td id=\"T_66dd7_row12_col32\" class=\"data row12 col32\" ></td>\n",
       "      <td id=\"T_66dd7_row12_col33\" class=\"data row12 col33\" ></td>\n",
       "      <td id=\"T_66dd7_row12_col34\" class=\"data row12 col34\" ></td>\n",
       "      <td id=\"T_66dd7_row12_col35\" class=\"data row12 col35\" ></td>\n",
       "      <td id=\"T_66dd7_row12_col36\" class=\"data row12 col36\" ></td>\n",
       "      <td id=\"T_66dd7_row12_col37\" class=\"data row12 col37\" ></td>\n",
       "      <td id=\"T_66dd7_row12_col38\" class=\"data row12 col38\" ></td>\n",
       "      <td id=\"T_66dd7_row12_col39\" class=\"data row12 col39\" ></td>\n",
       "      <td id=\"T_66dd7_row12_col40\" class=\"data row12 col40\" ></td>\n",
       "      <td id=\"T_66dd7_row12_col41\" class=\"data row12 col41\" ></td>\n",
       "      <td id=\"T_66dd7_row12_col42\" class=\"data row12 col42\" ></td>\n",
       "      <td id=\"T_66dd7_row12_col43\" class=\"data row12 col43\" ></td>\n",
       "      <td id=\"T_66dd7_row12_col44\" class=\"data row12 col44\" ></td>\n",
       "      <td id=\"T_66dd7_row12_col45\" class=\"data row12 col45\" ></td>\n",
       "      <td id=\"T_66dd7_row12_col46\" class=\"data row12 col46\" >1</td>\n",
       "      <td id=\"T_66dd7_row12_col47\" class=\"data row12 col47\" ></td>\n",
       "      <td id=\"T_66dd7_row12_col48\" class=\"data row12 col48\" ></td>\n",
       "      <td id=\"T_66dd7_row12_col49\" class=\"data row12 col49\" ></td>\n",
       "      <td id=\"T_66dd7_row12_col50\" class=\"data row12 col50\" ></td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n"
      ],
      "text/plain": [
       "<pandas.io.formats.style.Styler at 0x7fc594198fd0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "ok = \"- OK -\"\n",
    "oom = \"- OOM -\"\n",
    "timeout = \"- TIMEOUT -\"\n",
    "error_mapping = {\n",
    "    \"TimeoutError\": timeout,\n",
    "    \"status code '137'\": oom,\n",
    "    \"MemoryError: Unable to allocate\": oom,\n",
    "    \"ValueError: Expected 2D array, got 1D array instead\": \"Wrong shape error\",\n",
    "    \"could not broadcast input array from shape\": \"Wrong shape error\",\n",
    "    \"not aligned\": \"Wrong shape error\",  # shapes (20,) and (19,500) not aligned\n",
    "    \"array must not contain infs or NaNs\": \"unexpected Inf or NaN\",\n",
    "    \"contains NaN\": \"unexpected Inf or NaN\",\n",
    "    \"cannot convert float NaN to integer\": \"unexpected Inf or NaN\",\n",
    "    \"Error(s) in loading state_dict\": \"Model loading error\",\n",
    "    \"EOFError\": \"Model loading error\",\n",
    "    \"Restoring from checkpoint failed\": \"Model loading error\",\n",
    "    \"RecursionError: maximum recursion depth exceeded in comparison\": \"Max recursion depth exceeded\",\n",
    "    \"but PCA is expecting\": \"BROKEN Exathlon DATASETS\",  # ValueError: X has 44 features, but PCA is expecting 43 features as input.\n",
    "    \"input.size(-1) must be equal to input_size\": \"BROKEN Exathlon DATASETS\",\n",
    "    \"ValueError: The condensed distance matrix must contain only finite values.\": \"LinAlgError\",\n",
    "    \"LinAlgError\": \"LinAlgError\",\n",
    "    \"NameError: name 'nan' is not defined\": \"Not converged\",\n",
    "    \"Could not form valid cluster separation\": \"Not converged\",\n",
    "    \"contamination must be in\": \"Invariance/assumption not met\",\n",
    "    \"Data must not be constant\": \"Invariance/assumption not met\",\n",
    "    \"Cannot compute initial seasonals using heuristic method with less than two full seasonal cycles in the data\": \"Invariance/assumption not met\",\n",
    "    \"ValueError: Anom detection needs at least 2 periods worth of data\": \"Invariance/assumption not met\",\n",
    "    \"`dataset` input should have multiple elements\": \"Invariance/assumption not met\",\n",
    "    \"Cannot take a larger sample than population\": \"Invariance/assumption not met\",\n",
    "    \"num_samples should be a positive integer value\": \"Invariance/assumption not met\",\n",
    "    \"Cannot use heuristic method to compute initial seasonal and levels with less than periods + 10 datapoints\": \"Invariance/assumption not met\",\n",
    "    \"ValueError: The window size must be less than or equal to 0\": \"Invariance/assumption not met\",\n",
    "    \"The window size must be less than or equal to\": \"Incompatible parameters\",\n",
    "    \"window_size has to be greater\": \"Incompatible parameters\",\n",
    "    \"Set a higher piecewise_median_period_weeks\": \"Incompatible parameters\",\n",
    "    \"OutOfBoundsDatetime: cannot convert input with unit 'm'\": \"Incompatible parameters\",\n",
    "    \"`window_size` must be at least 4\": \"Incompatible parameters\",\n",
    "    \"elements of 'k' must be between\": \"Incompatible parameters\",\n",
    "    \"Expected n_neighbors <= n_samples\": \"Incompatible parameters\",\n",
    "    \"PAA size can't be greater than the timeseries size\": \"Incompatible parameters\",\n",
    "    \"All window sizes must be greater than or equal to\": \"Incompatible parameters\",\n",
    "    \"ValueError: __len__() should return >= 0\": \"Bug\",\n",
    "    \"stack expects a non-empty TensorList\": \"Bug\",\n",
    "    \"expected non-empty vector\": \"Bug\",\n",
    "    \"Found array with 0 feature(s)\": \"Bug\",\n",
    "    \"ValueError: On entry to DLASCL parameter number 4 had an illegal value\": \"Bug\",\n",
    "    \"Sample larger than population or is negative\": \"Bug\",\n",
    "    \"ZeroDivisionError\": \"Bug\",\n",
    "    \"IndexError\": \"Bug\",\n",
    "    \"status code '139'\": \"Bug\",\n",
    "    \"replacement has length zero\": \"Bug\",\n",
    "    \"missing value where TRUE/FALSE needed\": \"Bug\",\n",
    "    \"invalid subscript type 'list'\": \"Bug\",\n",
    "    \"subscript out of bounds\": \"Bug\",\n",
    "    \"invalid argument to unary operator\": \"Bug\",\n",
    "    \"negative length vectors are not allowed\": \"Bug\",\n",
    "    \"negative dimensions are not allowed\": \"Bug\",\n",
    "    \"`std` must be positive\": \"Bug\",\n",
    "    \"does not have key\": \"Bug\",  # State '1' does not have key '1'\n",
    "    \"Less than 2 uniques breaks left\": \"Bug\",\n",
    "    \"The encoder for value is invalid\": \"Bug\",\n",
    "    \"arange: cannot compute length\": \"Bug\",\n",
    "    \"n_components=3 must be between 0 and min(n_samples, n_features)\": \"Bug\",\n",
    "}\n",
    "\n",
    "def get_folder(index):\n",
    "    series = df.loc[index]\n",
    "    path = (\n",
    "        result_path /\n",
    "        series[\"algorithm\"] /\n",
    "        series[\"hyper_params_id\"] /\n",
    "        series[\"collection\"] /\n",
    "        series[\"dataset\"] /\n",
    "        str(series[\"repetition\"])\n",
    "    )\n",
    "    return path\n",
    "    \n",
    "def category_from_logfile(logfile):\n",
    "    with logfile.open() as fh:\n",
    "        log = fh.read()\n",
    "    for error in error_mapping:\n",
    "        if error in log:\n",
    "            return error_mapping[error]\n",
    "    #print(log)\n",
    "    return \"other\"\n",
    "    \n",
    "def extract_category(series):\n",
    "    status = series[\"status\"]\n",
    "    msg = series[\"error_message\"]\n",
    "    if status == \"Status.OK\":\n",
    "        return ok\n",
    "    elif status == \"Status.TIMEOUT\":\n",
    "        return timeout\n",
    "    # status is ERROR:\n",
    "    elif \"DockerAlgorithmFailedError\" in msg:\n",
    "        path = get_folder(series.name) / \"execution.log\"\n",
    "        if path.exists():\n",
    "            return category_from_logfile(path)\n",
    "        return \"DockerAlgorithmFailedError\"\n",
    "    else:\n",
    "        m = re.search(\"^([\\w]+)\\(.*\\)\", msg)\n",
    "        if m:\n",
    "            error = m.group(1)\n",
    "        else:\n",
    "            error = msg\n",
    "        return f\"TimeEval:{error}\"\n",
    "\n",
    "df[\"error_category\"] = df.apply(extract_category, axis=\"columns\", raw=False)\n",
    "df_error_category_overview = df.pivot_table(index=\"error_category\", columns=\"algorithm\", values=\"repetition\", aggfunc=\"count\")\n",
    "df_error_category_overview.insert(0, \"ALL (sum)\", df_error_category_overview.sum(axis=1))\n",
    "\n",
    "with pd.option_context(\"display.max_rows\", None, \"display.max_columns\", None):\n",
    "    display(df_error_category_overview.style.format(\"{:.0f}\", na_rep=\"\"))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- SAND Wrong shape error --> no anomaly in dataset (anomaly_window_size=0)\n",
    "- S-H-ESD (Twitter) incompatible parameter errors --> Cannot parse datetime index (would require further analysis\n",
    "- Left STAMPi incompatible parameter errors --> anomaly_window_size > n_init_train --> fixed, but **needs re-execution**\n",
    "- normal baseline TimeEval:KilledWorker --> is likely the source of these errors (on LTDB dataset) --> **try with Docker baseline**\n",
    "- TimeEval:ValueError --> all on genesis dataset: had an error in labeling --> fixed, but **needs re-execution**\n",
    "- Invariance/assumption not met errors:\n",
    "  - Dataset Exathlon 1_2_100000_68-16 has too many anomalies (contamination > 0.5)\n",
    "  - Left STAMPi has anomaly_window_size > n_init_train; those datasets cannot be processed by this algo\n",
    "  - TripleES has error `Cannot compute initial seasonals using heuristic method with less than two full seasonal cycles in the data` --> no idea on how to fix; just bad datasets for this method?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>algorithm</th>\n",
       "      <th>collection</th>\n",
       "      <th>dataset</th>\n",
       "      <th>algo_training_type</th>\n",
       "      <th>algo_input_dimensionality</th>\n",
       "      <th>dataset_training_type</th>\n",
       "      <th>dataset_input_dimensionality</th>\n",
       "      <th>train_preprocess_time</th>\n",
       "      <th>train_main_time</th>\n",
       "      <th>execute_preprocess_time</th>\n",
       "      <th>...</th>\n",
       "      <th>error_message</th>\n",
       "      <th>repetition</th>\n",
       "      <th>hyper_params</th>\n",
       "      <th>hyper_params_id</th>\n",
       "      <th>ROC_AUC</th>\n",
       "      <th>PR_AUC</th>\n",
       "      <th>AVERAGE_PRECISION</th>\n",
       "      <th>overall_time</th>\n",
       "      <th>RANGE_PR_AUC</th>\n",
       "      <th>error_category</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>252</th>\n",
       "      <td>Left STAMPi</td>\n",
       "      <td>IOPS</td>\n",
       "      <td>adb2fde9-8589-3f5b-a410-5fe14386c7af</td>\n",
       "      <td>UNSUPERVISED</td>\n",
       "      <td>UNIVARIATE</td>\n",
       "      <td>SUPERVISED</td>\n",
       "      <td>UNIVARIATE</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>DockerAlgorithmFailedError('Please consider lo...</td>\n",
       "      <td>1</td>\n",
       "      <td>{\"anomaly_window_size\": 411, \"n_init_train\": 2...</td>\n",
       "      <td>c7154041299f401511423f541d29014c</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Incompatible parameters</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>253</th>\n",
       "      <td>Left STAMPi</td>\n",
       "      <td>NAB</td>\n",
       "      <td>TravelTime_451</td>\n",
       "      <td>UNSUPERVISED</td>\n",
       "      <td>UNIVARIATE</td>\n",
       "      <td>UNSUPERVISED</td>\n",
       "      <td>UNIVARIATE</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>DockerAlgorithmFailedError('Please consider lo...</td>\n",
       "      <td>1</td>\n",
       "      <td>{\"anomaly_window_size\": 217, \"n_init_train\": 2...</td>\n",
       "      <td>c7154041299f401511423f541d29014c</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Incompatible parameters</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>260</th>\n",
       "      <td>Left STAMPi</td>\n",
       "      <td>NAB</td>\n",
       "      <td>exchange-2_cpc_results</td>\n",
       "      <td>UNSUPERVISED</td>\n",
       "      <td>UNIVARIATE</td>\n",
       "      <td>UNSUPERVISED</td>\n",
       "      <td>UNIVARIATE</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>DockerAlgorithmFailedError('Please consider lo...</td>\n",
       "      <td>1</td>\n",
       "      <td>{\"anomaly_window_size\": 163, \"n_init_train\": 1...</td>\n",
       "      <td>c7154041299f401511423f541d29014c</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Incompatible parameters</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>261</th>\n",
       "      <td>Left STAMPi</td>\n",
       "      <td>NAB</td>\n",
       "      <td>occupancy_6005</td>\n",
       "      <td>UNSUPERVISED</td>\n",
       "      <td>UNIVARIATE</td>\n",
       "      <td>UNSUPERVISED</td>\n",
       "      <td>UNIVARIATE</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>DockerAlgorithmFailedError('Please consider lo...</td>\n",
       "      <td>1</td>\n",
       "      <td>{\"anomaly_window_size\": 239, \"n_init_train\": 2...</td>\n",
       "      <td>c7154041299f401511423f541d29014c</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Incompatible parameters</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>4 rows × 23 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       algorithm collection                               dataset  \\\n",
       "252  Left STAMPi       IOPS  adb2fde9-8589-3f5b-a410-5fe14386c7af   \n",
       "253  Left STAMPi        NAB                        TravelTime_451   \n",
       "260  Left STAMPi        NAB                exchange-2_cpc_results   \n",
       "261  Left STAMPi        NAB                        occupancy_6005   \n",
       "\n",
       "    algo_training_type algo_input_dimensionality dataset_training_type  \\\n",
       "252       UNSUPERVISED                UNIVARIATE            SUPERVISED   \n",
       "253       UNSUPERVISED                UNIVARIATE          UNSUPERVISED   \n",
       "260       UNSUPERVISED                UNIVARIATE          UNSUPERVISED   \n",
       "261       UNSUPERVISED                UNIVARIATE          UNSUPERVISED   \n",
       "\n",
       "    dataset_input_dimensionality  train_preprocess_time  train_main_time  \\\n",
       "252                   UNIVARIATE                    NaN              NaN   \n",
       "253                   UNIVARIATE                    NaN              NaN   \n",
       "260                   UNIVARIATE                    NaN              NaN   \n",
       "261                   UNIVARIATE                    NaN              NaN   \n",
       "\n",
       "     execute_preprocess_time  ...  \\\n",
       "252                      NaN  ...   \n",
       "253                      NaN  ...   \n",
       "260                      NaN  ...   \n",
       "261                      NaN  ...   \n",
       "\n",
       "                                         error_message  repetition  \\\n",
       "252  DockerAlgorithmFailedError('Please consider lo...           1   \n",
       "253  DockerAlgorithmFailedError('Please consider lo...           1   \n",
       "260  DockerAlgorithmFailedError('Please consider lo...           1   \n",
       "261  DockerAlgorithmFailedError('Please consider lo...           1   \n",
       "\n",
       "                                          hyper_params  \\\n",
       "252  {\"anomaly_window_size\": 411, \"n_init_train\": 2...   \n",
       "253  {\"anomaly_window_size\": 217, \"n_init_train\": 2...   \n",
       "260  {\"anomaly_window_size\": 163, \"n_init_train\": 1...   \n",
       "261  {\"anomaly_window_size\": 239, \"n_init_train\": 2...   \n",
       "\n",
       "                      hyper_params_id  ROC_AUC PR_AUC AVERAGE_PRECISION  \\\n",
       "252  c7154041299f401511423f541d29014c      NaN    NaN               NaN   \n",
       "253  c7154041299f401511423f541d29014c      NaN    NaN               NaN   \n",
       "260  c7154041299f401511423f541d29014c      NaN    NaN               NaN   \n",
       "261  c7154041299f401511423f541d29014c      NaN    NaN               NaN   \n",
       "\n",
       "     overall_time  RANGE_PR_AUC           error_category  \n",
       "252           0.0           NaN  Incompatible parameters  \n",
       "253           0.0           NaN  Incompatible parameters  \n",
       "260           0.0           NaN  Incompatible parameters  \n",
       "261           0.0           NaN  Incompatible parameters  \n",
       "\n",
       "[4 rows x 23 columns]"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[\n",
    "    (df[\"error_category\"] == \"Incompatible parameters\") &\n",
    "    (df[\"algorithm\"] == \"Left STAMPi\")\n",
    "]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>algorithm</th>\n",
       "      <th>collection</th>\n",
       "      <th>dataset</th>\n",
       "      <th>status</th>\n",
       "      <th>error_message</th>\n",
       "      <th>error_category</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1413</th>\n",
       "      <td>VALMOD</td>\n",
       "      <td>KDD-TSAD</td>\n",
       "      <td>002_UCR_Anomaly_DISTORTED2sddb40</td>\n",
       "      <td>Status.ERROR</td>\n",
       "      <td>DockerAlgorithmFailedError('Please consider lo...</td>\n",
       "      <td>- OOM -</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1414</th>\n",
       "      <td>VALMOD</td>\n",
       "      <td>KDD-TSAD</td>\n",
       "      <td>003_UCR_Anomaly_DISTORTED3sddb40</td>\n",
       "      <td>Status.ERROR</td>\n",
       "      <td>DockerAlgorithmFailedError('Please consider lo...</td>\n",
       "      <td>- OOM -</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1415</th>\n",
       "      <td>VALMOD</td>\n",
       "      <td>KDD-TSAD</td>\n",
       "      <td>004_UCR_Anomaly_DISTORTEDBIDMC1</td>\n",
       "      <td>Status.OK</td>\n",
       "      <td>NaN</td>\n",
       "      <td>- OK -</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1416</th>\n",
       "      <td>VALMOD</td>\n",
       "      <td>KDD-TSAD</td>\n",
       "      <td>015_UCR_Anomaly_DISTORTEDECG4</td>\n",
       "      <td>Status.ERROR</td>\n",
       "      <td>DockerAlgorithmFailedError('Please consider lo...</td>\n",
       "      <td>- OOM -</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1417</th>\n",
       "      <td>VALMOD</td>\n",
       "      <td>KDD-TSAD</td>\n",
       "      <td>017_UCR_Anomaly_DISTORTEDECG4</td>\n",
       "      <td>Status.OK</td>\n",
       "      <td>NaN</td>\n",
       "      <td>- OK -</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1502</th>\n",
       "      <td>VALMOD</td>\n",
       "      <td>WebscopeS5</td>\n",
       "      <td>A2Benchmark-37</td>\n",
       "      <td>Status.OK</td>\n",
       "      <td>NaN</td>\n",
       "      <td>- OK -</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1503</th>\n",
       "      <td>VALMOD</td>\n",
       "      <td>WebscopeS5</td>\n",
       "      <td>A2Benchmark-53</td>\n",
       "      <td>Status.OK</td>\n",
       "      <td>NaN</td>\n",
       "      <td>- OK -</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1504</th>\n",
       "      <td>VALMOD</td>\n",
       "      <td>WebscopeS5</td>\n",
       "      <td>A2Benchmark-23</td>\n",
       "      <td>Status.OK</td>\n",
       "      <td>NaN</td>\n",
       "      <td>- OK -</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1505</th>\n",
       "      <td>VALMOD</td>\n",
       "      <td>WebscopeS5</td>\n",
       "      <td>A4Benchmark-14</td>\n",
       "      <td>Status.OK</td>\n",
       "      <td>NaN</td>\n",
       "      <td>- OK -</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1506</th>\n",
       "      <td>VALMOD</td>\n",
       "      <td>WebscopeS5</td>\n",
       "      <td>A2Benchmark-73</td>\n",
       "      <td>Status.OK</td>\n",
       "      <td>NaN</td>\n",
       "      <td>- OK -</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>94 rows × 6 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     algorithm  collection                           dataset        status  \\\n",
       "1413    VALMOD    KDD-TSAD  002_UCR_Anomaly_DISTORTED2sddb40  Status.ERROR   \n",
       "1414    VALMOD    KDD-TSAD  003_UCR_Anomaly_DISTORTED3sddb40  Status.ERROR   \n",
       "1415    VALMOD    KDD-TSAD   004_UCR_Anomaly_DISTORTEDBIDMC1     Status.OK   \n",
       "1416    VALMOD    KDD-TSAD     015_UCR_Anomaly_DISTORTEDECG4  Status.ERROR   \n",
       "1417    VALMOD    KDD-TSAD     017_UCR_Anomaly_DISTORTEDECG4     Status.OK   \n",
       "...        ...         ...                               ...           ...   \n",
       "1502    VALMOD  WebscopeS5                    A2Benchmark-37     Status.OK   \n",
       "1503    VALMOD  WebscopeS5                    A2Benchmark-53     Status.OK   \n",
       "1504    VALMOD  WebscopeS5                    A2Benchmark-23     Status.OK   \n",
       "1505    VALMOD  WebscopeS5                    A4Benchmark-14     Status.OK   \n",
       "1506    VALMOD  WebscopeS5                    A2Benchmark-73     Status.OK   \n",
       "\n",
       "                                          error_message error_category  \n",
       "1413  DockerAlgorithmFailedError('Please consider lo...        - OOM -  \n",
       "1414  DockerAlgorithmFailedError('Please consider lo...        - OOM -  \n",
       "1415                                                NaN         - OK -  \n",
       "1416  DockerAlgorithmFailedError('Please consider lo...        - OOM -  \n",
       "1417                                                NaN         - OK -  \n",
       "...                                                 ...            ...  \n",
       "1502                                                NaN         - OK -  \n",
       "1503                                                NaN         - OK -  \n",
       "1504                                                NaN         - OK -  \n",
       "1505                                                NaN         - OK -  \n",
       "1506                                                NaN         - OK -  \n",
       "\n",
       "[94 rows x 6 columns]"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[\n",
    "    #(df[\"error_category\"] == \"TimeEval:KilledWorker\") &\n",
    "    (df[\"algorithm\"] == \"VALMOD\")\n",
    "][[\"algorithm\", \"collection\", \"dataset\", \"status\", \"error_message\", \"error_category\"]]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Incompatible parameters error algorithms:\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>algorithm</th>\n",
       "      <th>S-H-ESD (Twitter)</th>\n",
       "      <th>Left STAMPi</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>repetition</th>\n",
       "      <td>114</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "algorithm   S-H-ESD (Twitter)  Left STAMPi\n",
       "repetition                114            4"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Incompatible parameters error datasets:\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>dataset</th>\n",
       "      <th>TravelTime_451</th>\n",
       "      <th>adb2fde9-8589-3f5b-a410-5fe14386c7af</th>\n",
       "      <th>occupancy_6005</th>\n",
       "      <th>exchange-2_cpc_results</th>\n",
       "      <th>101-freeway-traffic</th>\n",
       "      <th>art_daily_perfect_square_wave</th>\n",
       "      <th>ec2_cpu_utilization_5f5533</th>\n",
       "      <th>ec2_cpu_utilization_53ea38</th>\n",
       "      <th>ec2_cpu_utilization_24ae8d</th>\n",
       "      <th>cpu_utilization_asg_misconfiguration</th>\n",
       "      <th>...</th>\n",
       "      <th>A4Benchmark-34</th>\n",
       "      <th>A4Benchmark-22</th>\n",
       "      <th>A4Benchmark-15</th>\n",
       "      <th>A4Benchmark-14</th>\n",
       "      <th>A3Benchmark-71</th>\n",
       "      <th>A3Benchmark-70</th>\n",
       "      <th>A3Benchmark-68</th>\n",
       "      <th>A3Benchmark-33</th>\n",
       "      <th>A3Benchmark-32</th>\n",
       "      <th>speed_t4013</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>repetition</th>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>1 rows × 114 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "dataset     TravelTime_451  adb2fde9-8589-3f5b-a410-5fe14386c7af  \\\n",
       "repetition               2                                     2   \n",
       "\n",
       "dataset     occupancy_6005  exchange-2_cpc_results  101-freeway-traffic  \\\n",
       "repetition               2                       2                    1   \n",
       "\n",
       "dataset     art_daily_perfect_square_wave  ec2_cpu_utilization_5f5533  \\\n",
       "repetition                              1                           1   \n",
       "\n",
       "dataset     ec2_cpu_utilization_53ea38  ec2_cpu_utilization_24ae8d  \\\n",
       "repetition                           1                           1   \n",
       "\n",
       "dataset     cpu_utilization_asg_misconfiguration  ...  A4Benchmark-34  \\\n",
       "repetition                                     1  ...               1   \n",
       "\n",
       "dataset     A4Benchmark-22  A4Benchmark-15  A4Benchmark-14  A3Benchmark-71  \\\n",
       "repetition               1               1               1               1   \n",
       "\n",
       "dataset     A3Benchmark-70  A3Benchmark-68  A3Benchmark-33  A3Benchmark-32  \\\n",
       "repetition               1               1               1               1   \n",
       "\n",
       "dataset     speed_t4013  \n",
       "repetition            1  \n",
       "\n",
       "[1 rows x 114 columns]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "error_category = \"Incompatible parameters\"\n",
    "df_invalid_params = df[(df[\"error_category\"] == error_category)].groupby(by=\"algorithm\")[[\"repetition\"]].count().sort_values(\"repetition\", ascending=False)\n",
    "print(f\"{error_category} error algorithms:\")\n",
    "display(df_invalid_params.T)\n",
    "print(f\"{error_category} error datasets:\")\n",
    "df_broken_datasets = df[(df[\"error_category\"] == error_category)].groupby(by=\"dataset\")[[\"repetition\"]].count().sort_values(\"repetition\", ascending=False)\n",
    "display(df_broken_datasets.T)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Algorithm quality assessment based on ROC_AUC"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/sebastian.schmidl/.conda/envs/timeeval/lib/python3.8/site-packages/pandas/core/generic.py:4150: PerformanceWarning: dropping on a non-lexsorted multi-index without a level parameter may impact performance.\n",
      "  obj = obj._drop_axis(labels, axis, level=level, errors=errors)\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>algorithm</th>\n",
       "      <th>k-Means</th>\n",
       "      <th>Hybrid Isolation Forest (HIF)</th>\n",
       "      <th>Isolation Forest (iForest)</th>\n",
       "      <th>COPOD</th>\n",
       "      <th>Extended Isolation Forest (EIF)</th>\n",
       "      <th>HBOS</th>\n",
       "      <th>Subsequence LOF</th>\n",
       "      <th>OmniAnomaly</th>\n",
       "      <th>VALMOD</th>\n",
       "      <th>NumentaHTM</th>\n",
       "      <th>Telemanom</th>\n",
       "      <th>Left STAMPi</th>\n",
       "      <th>KNN</th>\n",
       "      <th>STOMP</th>\n",
       "      <th>Series2Graph</th>\n",
       "      <th>STAMP</th>\n",
       "      <th>CBLOF</th>\n",
       "      <th>GrammarViz</th>\n",
       "      <th>SAND</th>\n",
       "      <th>Subsequence IF</th>\n",
       "      <th>Torsk</th>\n",
       "      <th>RobustPCA</th>\n",
       "      <th>Triple ES (Holt-Winter's)</th>\n",
       "      <th>TSBitmap</th>\n",
       "      <th>PhaseSpace-SVM</th>\n",
       "      <th>Random Black Forest (RR)</th>\n",
       "      <th>SSA</th>\n",
       "      <th>OceanWNN</th>\n",
       "      <th>PCC</th>\n",
       "      <th>Spectral Residual (SR)</th>\n",
       "      <th>PCI</th>\n",
       "      <th>LOF</th>\n",
       "      <th>IF-LOF</th>\n",
       "      <th>SR-CNN</th>\n",
       "      <th>TARZAN</th>\n",
       "      <th>S-H-ESD (Twitter)</th>\n",
       "      <th>normal</th>\n",
       "      <th>PST</th>\n",
       "      <th>Hybrid KNN</th>\n",
       "      <th>TAnoGan</th>\n",
       "      <th>DeepAnT</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>1.0</td>\n",
       "      <td>0.999030</td>\n",
       "      <td>0.998558</td>\n",
       "      <td>0.996615</td>\n",
       "      <td>0.800350</td>\n",
       "      <td>0.819088</td>\n",
       "      <td>0.180139</td>\n",
       "      <td>0.461570</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.559344</td>\n",
       "      <td>0.109360</td>\n",
       "      <td>0.355377</td>\n",
       "      <td>0.599168</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.319515</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.622689</td>\n",
       "      <td>0.002682</td>\n",
       "      <td>0.391728</td>\n",
       "      <td>0.009477</td>\n",
       "      <td>0.254008</td>\n",
       "      <td>0.432454</td>\n",
       "      <td>0.377897</td>\n",
       "      <td>0.055675</td>\n",
       "      <td>0.373869</td>\n",
       "      <td>0.410491</td>\n",
       "      <td>0.274671</td>\n",
       "      <td>0.489198</td>\n",
       "      <td>0.107904</td>\n",
       "      <td>0.349746</td>\n",
       "      <td>0.138409</td>\n",
       "      <td>0.443739</td>\n",
       "      <td>0.435371</td>\n",
       "      <td>0.294129</td>\n",
       "      <td>0.001533</td>\n",
       "      <td>0.494382</td>\n",
       "      <td>0.5</td>\n",
       "      <td>0.037077</td>\n",
       "      <td>0.000004</td>\n",
       "      <td>0.010502</td>\n",
       "      <td>0.024786</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>1.0</td>\n",
       "      <td>0.999474</td>\n",
       "      <td>0.998866</td>\n",
       "      <td>0.998116</td>\n",
       "      <td>0.909472</td>\n",
       "      <td>0.897020</td>\n",
       "      <td>0.847759</td>\n",
       "      <td>0.783326</td>\n",
       "      <td>0.774486</td>\n",
       "      <td>0.765483</td>\n",
       "      <td>0.744044</td>\n",
       "      <td>0.740918</td>\n",
       "      <td>0.736078</td>\n",
       "      <td>0.728184</td>\n",
       "      <td>0.726693</td>\n",
       "      <td>0.719392</td>\n",
       "      <td>0.713748</td>\n",
       "      <td>0.695982</td>\n",
       "      <td>0.694222</td>\n",
       "      <td>0.688202</td>\n",
       "      <td>0.665070</td>\n",
       "      <td>0.631477</td>\n",
       "      <td>0.631197</td>\n",
       "      <td>0.581377</td>\n",
       "      <td>0.576718</td>\n",
       "      <td>0.570844</td>\n",
       "      <td>0.567343</td>\n",
       "      <td>0.567226</td>\n",
       "      <td>0.560258</td>\n",
       "      <td>0.547511</td>\n",
       "      <td>0.541905</td>\n",
       "      <td>0.529260</td>\n",
       "      <td>0.527482</td>\n",
       "      <td>0.518914</td>\n",
       "      <td>0.505247</td>\n",
       "      <td>0.500064</td>\n",
       "      <td>0.5</td>\n",
       "      <td>0.458489</td>\n",
       "      <td>0.449942</td>\n",
       "      <td>0.429133</td>\n",
       "      <td>0.024786</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>median</th>\n",
       "      <td>1.0</td>\n",
       "      <td>0.999474</td>\n",
       "      <td>0.998639</td>\n",
       "      <td>0.998274</td>\n",
       "      <td>0.938686</td>\n",
       "      <td>0.883357</td>\n",
       "      <td>0.980551</td>\n",
       "      <td>0.849511</td>\n",
       "      <td>0.967669</td>\n",
       "      <td>0.762302</td>\n",
       "      <td>0.824836</td>\n",
       "      <td>0.720858</td>\n",
       "      <td>0.665797</td>\n",
       "      <td>0.883160</td>\n",
       "      <td>0.821777</td>\n",
       "      <td>0.867588</td>\n",
       "      <td>0.633781</td>\n",
       "      <td>0.772092</td>\n",
       "      <td>0.696439</td>\n",
       "      <td>0.744568</td>\n",
       "      <td>0.616225</td>\n",
       "      <td>0.599108</td>\n",
       "      <td>0.569552</td>\n",
       "      <td>0.602617</td>\n",
       "      <td>0.594090</td>\n",
       "      <td>0.520563</td>\n",
       "      <td>0.514311</td>\n",
       "      <td>0.525893</td>\n",
       "      <td>0.550565</td>\n",
       "      <td>0.508651</td>\n",
       "      <td>0.502947</td>\n",
       "      <td>0.553216</td>\n",
       "      <td>0.553968</td>\n",
       "      <td>0.500000</td>\n",
       "      <td>0.461767</td>\n",
       "      <td>0.500000</td>\n",
       "      <td>0.5</td>\n",
       "      <td>0.469466</td>\n",
       "      <td>0.377965</td>\n",
       "      <td>0.493042</td>\n",
       "      <td>0.024786</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>1.0</td>\n",
       "      <td>0.999918</td>\n",
       "      <td>0.999401</td>\n",
       "      <td>0.999457</td>\n",
       "      <td>0.960167</td>\n",
       "      <td>0.988614</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.972710</td>\n",
       "      <td>0.999960</td>\n",
       "      <td>0.977983</td>\n",
       "      <td>0.999550</td>\n",
       "      <td>0.999846</td>\n",
       "      <td>0.943269</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.999939</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.884776</td>\n",
       "      <td>0.999995</td>\n",
       "      <td>0.995151</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.999872</td>\n",
       "      <td>0.939711</td>\n",
       "      <td>0.999756</td>\n",
       "      <td>0.979925</td>\n",
       "      <td>0.872574</td>\n",
       "      <td>0.851595</td>\n",
       "      <td>0.960941</td>\n",
       "      <td>0.686588</td>\n",
       "      <td>0.997806</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.994006</td>\n",
       "      <td>0.566869</td>\n",
       "      <td>0.566622</td>\n",
       "      <td>0.723483</td>\n",
       "      <td>0.999991</td>\n",
       "      <td>0.518076</td>\n",
       "      <td>0.5</td>\n",
       "      <td>0.974530</td>\n",
       "      <td>0.999939</td>\n",
       "      <td>0.844327</td>\n",
       "      <td>0.024786</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "algorithm  k-Means  Hybrid Isolation Forest (HIF)  Isolation Forest (iForest)  \\\n",
       "min            1.0                       0.999030                    0.998558   \n",
       "mean           1.0                       0.999474                    0.998866   \n",
       "median         1.0                       0.999474                    0.998639   \n",
       "max            1.0                       0.999918                    0.999401   \n",
       "\n",
       "algorithm     COPOD  Extended Isolation Forest (EIF)      HBOS  \\\n",
       "min        0.996615                         0.800350  0.819088   \n",
       "mean       0.998116                         0.909472  0.897020   \n",
       "median     0.998274                         0.938686  0.883357   \n",
       "max        0.999457                         0.960167  0.988614   \n",
       "\n",
       "algorithm  Subsequence LOF  OmniAnomaly    VALMOD  NumentaHTM  Telemanom  \\\n",
       "min               0.180139     0.461570  0.000000    0.559344   0.109360   \n",
       "mean              0.847759     0.783326  0.774486    0.765483   0.744044   \n",
       "median            0.980551     0.849511  0.967669    0.762302   0.824836   \n",
       "max               1.000000     0.972710  0.999960    0.977983   0.999550   \n",
       "\n",
       "algorithm  Left STAMPi       KNN     STOMP  Series2Graph     STAMP     CBLOF  \\\n",
       "min           0.355377  0.599168  0.000000      0.319515  0.000000  0.622689   \n",
       "mean          0.740918  0.736078  0.728184      0.726693  0.719392  0.713748   \n",
       "median        0.720858  0.665797  0.883160      0.821777  0.867588  0.633781   \n",
       "max           0.999846  0.943269  1.000000      0.999939  1.000000  0.884776   \n",
       "\n",
       "algorithm  GrammarViz      SAND  Subsequence IF     Torsk  RobustPCA  \\\n",
       "min          0.002682  0.391728        0.009477  0.254008   0.432454   \n",
       "mean         0.695982  0.694222        0.688202  0.665070   0.631477   \n",
       "median       0.772092  0.696439        0.744568  0.616225   0.599108   \n",
       "max          0.999995  0.995151        1.000000  0.999872   0.939711   \n",
       "\n",
       "algorithm  Triple ES (Holt-Winter's)  TSBitmap  PhaseSpace-SVM  \\\n",
       "min                         0.377897  0.055675        0.373869   \n",
       "mean                        0.631197  0.581377        0.576718   \n",
       "median                      0.569552  0.602617        0.594090   \n",
       "max                         0.999756  0.979925        0.872574   \n",
       "\n",
       "algorithm  Random Black Forest (RR)       SSA  OceanWNN       PCC  \\\n",
       "min                        0.410491  0.274671  0.489198  0.107904   \n",
       "mean                       0.570844  0.567343  0.567226  0.560258   \n",
       "median                     0.520563  0.514311  0.525893  0.550565   \n",
       "max                        0.851595  0.960941  0.686588  0.997806   \n",
       "\n",
       "algorithm  Spectral Residual (SR)       PCI       LOF    IF-LOF    SR-CNN  \\\n",
       "min                      0.349746  0.138409  0.443739  0.435371  0.294129   \n",
       "mean                     0.547511  0.541905  0.529260  0.527482  0.518914   \n",
       "median                   0.508651  0.502947  0.553216  0.553968  0.500000   \n",
       "max                      1.000000  0.994006  0.566869  0.566622  0.723483   \n",
       "\n",
       "algorithm    TARZAN  S-H-ESD (Twitter)  normal       PST  Hybrid KNN  \\\n",
       "min        0.001533           0.494382     0.5  0.037077    0.000004   \n",
       "mean       0.505247           0.500064     0.5  0.458489    0.449942   \n",
       "median     0.461767           0.500000     0.5  0.469466    0.377965   \n",
       "max        0.999991           0.518076     0.5  0.974530    0.999939   \n",
       "\n",
       "algorithm   TAnoGan   DeepAnT  \n",
       "min        0.010502  0.024786  \n",
       "mean       0.429133  0.024786  \n",
       "median     0.493042  0.024786  \n",
       "max        0.844327  0.024786  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "aggregations = [\"min\", \"mean\", \"median\", \"max\"]\n",
    "dominant_aggregation = \"mean\"\n",
    "\n",
    "df_overall_scores = df.pivot_table(index=\"algorithm\", values=\"ROC_AUC\", aggfunc=aggregations)\n",
    "df_overall_scores.columns = aggregations\n",
    "df_overall_scores = df_overall_scores.sort_values(by=dominant_aggregation, ascending=False)\n",
    "\n",
    "\n",
    "df_asl = df.pivot(index=\"algorithm\", columns=[\"collection\", \"dataset\"], values=\"ROC_AUC\")\n",
    "df_asl = df_asl.dropna(axis=0, how=\"all\").dropna(axis=1, how=\"all\")\n",
    "df_asl[dominant_aggregation] = df_asl.agg(dominant_aggregation, axis=1)\n",
    "df_asl = df_asl.sort_values(by=dominant_aggregation, ascending=True)\n",
    "df_asl = df_asl.drop(columns=dominant_aggregation).T\n",
    "\n",
    "with pd.option_context(\"display.max_rows\", None, \"display.max_columns\", None):\n",
    "    display(df_overall_scores.T)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1440x576 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "n_show = 20\n",
    "dataset_count_lut = (df_error_counts[\"Status.OK\"] / df_error_counts[\"ALL\"]).reset_index().set_index(\"algorithm\").drop(columns=[\"algo_training_type\", \"algo_input_dimensionality\"]).iloc[:, 0]\n",
    "fmt_label = lambda c: f\"{c} ({dataset_count_lut[c]:6.2%} of datasets)\"\n",
    "\n",
    "fig = plot_boxplot(df_asl, title=\"AUC_ROC box plots\", ax_label=\"AUC_ROC score\", fmt_label=fmt_label, n_show=n_show)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "timeeval",
   "language": "python",
   "name": "timeeval"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
